Excel函数用于查找与不同字符串最接近的值

时间:2016-07-07 18:22:36

标签: excel excel-formula

0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20  21  22  23
fall    rise    na  fall    na  fall    fall    rise    na  fall    rise    rise    peak    fall    rise    na  fall    fall    rise    na  na  fall    na  fall

我需要找到'na'这个词,它最接近'peak'这个词。

2 个答案:

答案 0 :(得分:2)

您可以使用以下数组公式:

=INDEX($A$1:$X$1,LARGE(IF((COLUMN(A2:$X$2)<MATCH("peak",$A$2:$X$2,0))*($A$2:$X$2="na"),COLUMN(A2:$X$2)),1))

作为一个数组,需要在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter来确认。如果操作正确,Excel会将{}放在公式周围。

或者

您可以使用以下常规公式:

=INDEX($A$1:$X$1,AGGREGATE(14,6,COLUMN(A2:$X$2)/((COLUMN(A2:$X$2)<MATCH("peak",$A$2:$X$2,0))*($A$2:$X$2="na")),1))

enter image description here

答案 1 :(得分:1)

这是一个替代解决方案,提供与Scott的答案相同的结果:

=INDEX(A1:X1,1,SUMPRODUCT(MAX((OFFSET(A2,0,0,1,MATCH("peak",A2:X2,0))="na")*COLUMN(OFFSET(A2,0,0,1,MATCH("peak",A2:X2,0))))))