在单元格中查找大于特定值的最接近数字

时间:2016-05-12 04:47:27

标签: excel excel-formula

我在Excel表格中有3个不同的单元格:

[B1] = 2
[N50] = 5
[V25] = 10

我想在这些单元格中找到大于特定值的最接近数字。例如,如果值为1,则单元格2中的数字应为[B1]。如果值为4,则单元格5中的数字应为[N50]

1 个答案:

答案 0 :(得分:2)

=IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),1),
  IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),2),
  IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),3),
LARGE(CHOOSE({1,2,3},D2,F3,H1),3),
LARGE(CHOOSE({1,2,3},D2,F3,H1),2)),
LARGE(CHOOSE({1,2,3},D2,F3,H1),1)),
"larger or equal to all searched numbers")

并在一条漂亮的直线上进行复制和粘贴:

=IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),1),  IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),2),  IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),3), LARGE(CHOOSE({1,2,3},D2,F3,H1),3), LARGE(CHOOSE({1,2,3},D2,F3,H1),2)), LARGE(CHOOSE({1,2,3},D2,F3,H1),1)), "larger or equal to all searched numbers")

对我来说最困难的部分我并不理解它仍然没有...只是接受,正在将你的单独细胞构建成阵列。该部分由CHOOSE()完成:

CHOOSE({1,2,3},D2,F3,H1)

一旦它在一个数组中,执行一个大函数来从最大到最小排序。然后通过一系列嵌套的IF语句,检查A2中指定的数字是否小于K的最大数。

这是一个概念证明,缩小到较小的范围,但给你的想法。

Proof of Concept

现在我用大号做了,你可以用一个小函数完成它,你只需要在if语句中修改你的逻辑。

这是一种没有if语句的替代方法:

=IF(A2>=MAX(A7,C8,E6),"Greater than or equal to all options",INDEX(CHOOSE({1,2,3},A7,C8,E6),IFERROR(MATCH(A2,CHOOSE({1,2,3},A7,C8,E6),1)+1,1)))