0

我有一张在各个列中包含所有四个标准的工作表,并且我每天放入新工作表的报告以一种可怕的方式交错排列(我没有设计它)。出于安全原因,我无法提供实际数据,但我附上了我正在处理的样本(为简单起见合并到一张纸上)。我需要匹配 A:D 列中每一行中的所有四个条件,然后从 X 列返回年度金额,直接与 O 列中的匹配 - 标签类型不必匹配,因为那些 # 的保持不变,当我已经在四个标准中挣扎时,这将增加第五个标准。问题是标准可以在具有不同其他标准的不同列下重复(例如,参见 O13 与 O25)。

记住的目标是,对于 F4,我需要它返回 X15,因为这是 #1 基金的未发行金额,其中 G1 = 1C、G2 = AB 和 G3 = A1。

我非常不正确但最好的工作公式是这个,它基本上只是 O 列的一个花哨的 V-Lookup。

=INDEX($I$1:$X$27,
IF(MATCH($A2,J:J,0)*MATCH($B2,M:M,0)*MATCH($C2,N:N,0)*MATCH($D2,O:O,0),
(MATCH($D2,O:O,0))),
MATCH($X$12,$I$12:$X$12,0))

编辑添加:报告中的下拉是动态的,标准的位置可以在列中向上或向下更改。

4

1 回答 1

1

要进行多值 INDEX/MATCH,请利用TRUEandFALSE可以视为1and的事实0,并反转 MATCH 以找到 value 1

因此,要将值 A2、B2、C2 和 D2 与列 J、M、N 和 O 匹配,您可以使用以下命令:

=INDEX($X:$X, MATCH(1, ($A2=$J:$J)*($B2=$M:$M)*($C2=$N:$N)*($D2=$O:$O), 0))

但是,这在这种情况下不起作用,因为在单元格 M14:P15、M17:P18、M20:P21、M23:P24 或 M26:P27 中没有任何值——所以没有什么可以MATCH用来……好吧,匹配.

而且,由于您返回的是数值——没有重复的行——而不是文本值,所以一旦你修复了表格,你不妨只使用 aSUMIFS而不是多索引/匹配:

=SUMIFS($X:$X, $J:$J,$A2, $M:$M,$B2, $N:$N,$C2, $O:$O,$D2)

(当然,如果数据看起来像这样,因为它在数据透视表中,您可以使用该GETPIVOTDATA功能。如果您要从数据透视表复制/粘贴数据,只需转到“设计”选项卡,然后转到“报表布局”和在复制/粘贴表格之前“重复所有项目标签”!)

于 2021-11-15T16:02:35.727 回答