早上好
我在 L2 中有以下公式:=INDEX(E:E,MATCH(MINIFS(B:B,C:C,J2),B:B,0)) 它运行正常,但在某些随机情况下会引入不正确的数据。在 M2 中输入什么公式才能找到 L2 中公式答案所在的单元格引用?
答案1
答案就在你的初始公式本身中 - 部分匹配(MINIFS(B:B,C:C,J2),B:B,0)查找数组中某个项目的相对位置(在本例中为 B 列),该位置由 MINIFS 函数给出。有关 MATCH 函数的更多信息,请参阅这里。
答案2
很容易解释为什么您当前的设置有时会失败。
假设该单元格J2
包含“X”,并且您拥有以下数据B1:E10
:
乙 | C | 德 | 埃 | |
---|---|---|---|---|
1 | 2 | E1 | ||
2 | 3 | E2 | ||
3 | 1 | E3 | ||
4 | 1 | E4 | ||
5 | 2 | X | E5 | |
6 | 4 | X | E6 | |
7 | 1 | X | E7 | |
8 | 2 | E8 | ||
9 | 1 | X | E9 | |
10 | 5 | E10 |
您的公式将在此处错误地返回“E3”。尽管部分MINIFS
将正确返回 1,即 中的条目B7
,但当您将其传递给它时,MATCH
它会将其与 中的 1 匹配B3
,尽管该条目在 C 列中没有“X”。
INDEX
关键是您的/MATCH
设置中没有任何内容表明返回的MINIFS
条目应该与 C 列中也有“X”的条目匹配,因此,如果返回的条目MINIFS
也可以发生在没有C 列中有一个“X”,并且该列在表格中出现得更早,那么您将返回一个错误的答案。
例如,您应该使用:
=INDEX(E1:E10,MATCH(1,(B1:B10=MINIFS(B1:B10,C1:C10,J2))*(C1:C10=J2),0))
这可能需要使用 进行提交CTRL+SHIFT+ENTER
,具体取决于您的 Excel 版本。还请注意,对于此版本,强烈建议不要使用整个列引用(A:A
、E:E
等);因此我选择将上行引用设为 10。