这两个 Excel 2007 公式的正确书写方式或更好的组合方式

这两个 Excel 2007 公式的正确书写方式或更好的组合方式

我有两个公式。作为这个问题的示例,我们假设我有一个工作簿,它基本上是一个 CD 数据库。它包含您期望的所有常见信息。此工作簿称为Album.xls

我还有另一个工作簿,Data.xls其中包含许多工作表;每个工作表从中提取不同的数据Album.xls

如您所知,不同的音乐 CD 每张专辑的光盘数量不同 - 有些只有一张光盘,有些有两张,有些有三张等等。

在 中Album.xls,每张 CD 的所有信息都包含在行中(每行一张 CD)。光盘数量信息位于 F 列。数据始终是数字,因此光盘 1(在专辑/标题内)用数字 1 表示,光盘 2 用数字 2 表示,依此类推,最多 8 张光盘。

我有一张工作表,Data.xls我想从中提取每个标题的光盘数量;例如,特定专辑有多少张光盘。

我正在使用下面的两个公式来做到这一点,但我确信我正在以不必要的冗长甚至可能不正确的方式进行操作,所以我想知道是否有人可以建议更好的方法。

在我的光盘计数工作表中Data.xls...

在 A 列的每个单元格中,我有

=IF(OR([Album.xls]Track!$F$2=1), "Disc 1", IF(OR([Album.xls]Track!$F$2=2), "Disc 2", ""))

对于向下的每个单元格,公式中的单元格引用都会前进 1,因此在A1单元格引用中是$F$2,在A2它的中是$F$3,依此类推...

这个想法是,这个公式查看 F 列Album.xls,对于 F 列中的每个单元格,如果它找到数字 1,则显示Disc 1;如果它找到数字 2,则显示Disc 2;依此类推......

在 BI 列的每个单元格中

=INDEX($A$2:$A$400, MATCH(0,INDEX(COUNTIF($B$1:B4,$A$2:$A$20),0,0),0))

这将查看 A 列中第一个公式的结果并仅返回唯一值,因此,如果 CD 专辑有 3 张光盘,则将显示前三个单元格:

Disc 1  
Disc 2  
Disc 3 

如果它有 5 张光盘,则会显示:

Disc 1  
Disc 2
Disc 3
Disc 4
Disc 5

等等...

抱歉,如果这是冗长的;我相信我的新手正在展现出来,而且我正在努力做到这一点,所以我希望能向你学习。

答案1

对于 A 列,您可以使用:

="Disc "&[CATraxx_Album.xls]Track!$F2

这将输出“Disc X”,其中 X 是 [CATraxx_Album.xls]Track!$F2 中的值。

在 excel 公式中,与号 (&) 运算符用于连接字符串,因此="A"&"B"输出 AB。这是一个非常有用的运算符,因为您可以使用它来连接许多东西,例如="hello "&C1&", nice to meet you! My name is "&C2&"."(其中 C1 和 C2 包含名称)。

请注意,我还删除了 A 列公式中 F 和 2 之间的美元符号。这意味着当您将此公式向下拖动时,F 数字将会增加,我相信这是您想要的(您提到 A1 应该引用 F2,A2 引用 F3,等等)。

虽然您已经说明了 B 列的作用,但您没有说明它有什么问题,也没有说明您想如何更改输出。如果您让我知道您想对该输出进行哪些更改,我也可以改进我的答案以解决这个问题。

相关内容