如何评估这个 Excel 表达式?

如何评估这个 Excel 表达式?

我正在尝试在 Excel 中评估以下表达式:

IF(A2:C6="apple",ROW(A2:C6)-ROW(A2)+1,ROW(C6)+1),2)

如果apple包含在数组中,则 if 条件将返回

ROW(A2:C6)-ROW(A2)+1

ROW(A2:C6) = 2 

所以

ROW(A2:C6)-ROW(A2)+1 = 2-2+1 = 1 

如果条件结果为 False,则返回

ROW(C6)+1 = 6+1 = 7  

我正在尝试从中获取公式本网站上班。

答案1

IF 表达式返回一个值“数组”

=IF(A2:C6="apple",ROW(A2:C6)-ROW(A2)+1,ROW(C6)+1)

对于 A2:C6 中包含“apple”的每个单元格,将返回相对行号,例如,如果 Apple 在 A2 中,则返回 1,如果 Apple 在 A3 中,则返回 2 等等。如果“apple”不在任何单元格中,则返回默认值 ROW(C6)+1,因此,例如 - 如果“Apple”仅在 A3 和 C6 中,您将获得上述返回的结果

{7,7,7;2,7,7;7,7,7;7,7,7;7,7,5}

你可以通过将公式放入单元格,然后按 F2 再按 F9 来查看

公式中的 FALSE 部分通常不是必需的 - 这样就足够了

=IF(A2:C6="apple",ROW(A2:C6)-ROW(A2)+1)

然后 FALSE 值返回 FALSE.....无论如何都会被 SMALL 忽略

...所以更好的公式应该是这样的:

=INDEX(B2:B6,SMALL(IF(A2:A6="apple",ROW(A2:A6)-ROW(A2)+1),2))

这将为您提供 B2:B6 中第二行的相应值,其中 A2:A6 中为“Apple” - 当水果仅在第一列中时,无需查看 A2:C6 - 这是一个“数组公式”,需要使用CTRL+SHIFT+ENTER

相关内容