在excel表中,我从A1到A6:
1,2,4,6,8,9
我想使用MATCH函数来检索包含5的最小间隔。这里是4和6.
我可以轻松使用MATCH和INDEX函数找到4,但我找不到找到6的方法。
如何在MATCH函数中反转数组的顺序?
答案 0 :(得分:1)
您仍然可以使用@ INDEX
和MATCH
使用@ExcelHero add one
技巧,但您需要确保匹配的偏移量不会溢出您的索引。在许多用例中,您还可以保护您的匹配免受下溢。当然,如果MATCH
没有请求-1(大于)匹配类型参数的反向(降序)顺序,或者Excel提供了用于反转的公式,我们就不需要这一切。阵列。
我的建议是对MATCH
使用以下公式
部分:
=IF(N19 < INDEX(lookup_range, 1), 1, MIN(ROWS(lookup_range), 1 + MATCH(N19, lookup_range, 1)))
N19
是包含您查找的值的单元格,lookup_range
是查找范围的名称,条件是指the first cell in the named range。
总而言之,你可以这样做(如果你不喜欢命名范围,请调整公式):
# For the lower limit
=INDEX(lookup_range, IF(N19 < INDEX(lookup_range, 1), 1, MATCH(N19, lookup_range, 1)))
# For the higher limit
=INDEX(lookup_range, IF(N19 < INDEX(lookup_range, 1), 1, MIN(ROWS(lookup_range), 1 + MATCH(N19, lookup_range, 1))))
NOTA:如果您对任何其他输出范围感兴趣,也可以在这两个公式中更改INDEX
的第一个参数。
答案 1 :(得分:0)
您无法撤消订单,但可以执行此操作:
=INDEX(A:A,MATCH(5,A:A,1)+1)
以上公式返回六个,它基于搜索五个。所以这就是你在五个区间内找到第二个值的方法。
当然,正如您所提到的,您可以使用我在此处完全相同的公式找到区间的第一个值(本例中为4个),除了+1
附近没有{。}}。
答案 2 :(得分:0)
你也可以试试这两个公式:
=LOOKUP(1,0/FREQUENCY(-B1,-A1:A6),+A1:A6)
=LOOKUP(1,0/FREQUENCY(B1,A1:A6),+A1:A6)
注意:
A1:A6
不需要排序B1
等于A1:A6
中的某个值,则两个公式都会返回B1
。 B1
位于A1:A6
的值范围之外,则其中一个公式会返回#N/A
答案 3 :(得分:0)
使用 XMATCH,如本网站所述:
https://exceljet.net/formula/xmatch-reverse-search
XMATCH 允许你设置搜索方向,如下:
=XMATCH(B1,A1:A6,0,-1)
其中B1
是要匹配的单元格,A1:A6
是你要搜索的数组,0
表示“完全匹配”,-1
选择反向搜索方向(以单元格 A6 开始,以 A1 结束)。