我正在尝试在 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