这里的神奇之处实际上在于 MATCH 函数而不是数组。这里用到了 match 函数的两个有趣的属性:
1) 使用 MATCH,如果没有找到匹配项,那么函数将返回数组中最后一个值的位置,所以如果你做了 =MATCH(8,{1,2,3,4,5,6 ,7,6,5,4,3,2,1}),你的结果是 = 13,因为在数组中找不到 8
2) MATCH 将返回最后一个值的位置,但不会返回错误(或空白值)的位置,所以如果你有 =MATCH(8,{1,2,3,4 ,#DIV/0!,#DIV/0!,7,6,5,4,3,#DIV/0!,#DIV/0!}),你的结果是 = 11,作为第 11 位的 3是数组中的最后一个值
所以 daddylonglegs 的公式在数组公式中使用 (A1:A13=B1) 对照目标值检查每个单元格,为单元格匹配的位置提供 TRUE(或 1)和 FALSE(或 0)的数组) 对于其余的。将 1 除以该数组为 TRUE 的结果为 1,并且 #DIV/0!那个数组是假的。所以他的公式被评估为
=MATCH(2,{#DIV/0!,1,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,1,#DIV/0!,1 ,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!})
由于在数组中没有找到“2”,并且在第 9 位找到最后一个值 (1),所以 MATCH 返回 9