返回多个列中通过检查的第一个值

返回多个列中通过检查的第一个值

我有一些包含相同数据的多个语句的列数组,其中一些符合我设定的标准,一些则不符合。

我希望返回符合我条件的第一个(最左边)值。请参阅下面的数据示例,其中“纬度”有三个单独的值。

Index   Lat_1   Lat_2   Lat_3
1       52.3    80      69
2       80      52.3    69
3       69      80      52.3
4       69      55.0    52.3

对于这个例子,可以认为标准是大于或等于 50 且小于或等于 60。这意味着我想要的是如下内容:

Index   Lat_1   Lat_2   Lat_3   Correct_lat
1       52.3    80.0    69.0    52.3
2       80.0    52.3    69.0    52.3
3       69.0    80.0    52.3    52.3
4       69.0    55.0    52.3    55.0

有没有一种方法可以在不使用大量嵌套 if 语句的情况下实现这一点?

答案1

假设原始表格位于 A1:D5(标题位于第 1 行),则在 E2 中输入数组公式*

=INDEX(B2:D2,MATCH(TRUE,ABS(B2:D2-55)<=5,0))

按要求抄下来。

*数组公式的输入方式与“标准”公式不同。ENTER您不必只按 ,而是先按住CTRLSHIFT,然后再按ENTER。如果您操作正确,您会注意到 Excel 会{ }在公式周围加上花括号(但不要尝试自己手动插入这些括号)。

相关内容