如何在 excel 数组公式中获取第一个 TRUE 值

How to get the first TRUE value in an excel array formula

在 Excel 数组公式中 - 当我尝试使用 IF 公式 return 数组中的第一个 TRUE 值时,如果 TRUE 是数组中的第一个条目,但如果 TRUE 出现在后面则不是

例如,这有效 returns "a"

=IF({TRUE,FALSE},{"a","b"})

但这并不像我预期的那样有效 - returns FALSE

=IF({FALSE,TRUE},{"a","b"})

在这种情况下,到达“b”的正确方法是什么?

编辑

我的问题是 - 如果我有一个 恰好 一个 TRUE 值的“逻辑条件”数组,我如何 return 该值对应于TRUE.

对于数值,我可以使用SMALL函数,例如-

=SMALL(IF({FALSE,TRUE},{1,4}),1)

This returns 4. 如果我有 {"a", "b"} 而不是上面的 {1, 4},是否有我可以使用的等价物。

多种方式:

  • 与 O360:

     =XLOOKUP(TRUE,{FALSE,TRUE},{"a","b"})
    
  • 早期版本:

    =HLOOKUP(TRUE,{FALSE,TRUE;"a","b"},2,0)
    =INDEX({"a","b"},MATCH(TRUE,{FALSE,TRUE},0))