Use INDEX MATCH to find greater than/equal to value

江枫思渺然 提交于 2019-11-26 21:39:39

问题


I've been searching online and in Excel Help but cannot find whether this is possible.

Given a list of numbers, values and a search term, I need to find the value whereby the value is greater than or equal to the search term. See the example:

Excel returns Red but it should return Orange because 15 is greater than 10.
Other desired result examples would be:

  • 5 = Red (or N/A)
  • 25 = Yellow
  • 63 = Violet
  • 15434 = Violet (or N/A)

I realise that if I sort the list in descending order and use -1 for the MATCH [match_type] argument, then it works okay, but, the list is over 1,000 rows and is far easier to read in ascending order.


回答1:


Your desired results appear a little inconsistent. Why is the desired result for 15 Orange but that for 63 Indigo?

Are you in fact attempting to match based on whichever corresponding value is absolutely closest to the search value, whether below or above that value?

If so:

=INDEX(B4:B10,MATCH(TRUE,INDEX(ABS(A4:A10-B1)=MIN(INDEX(ABS(A4:A10-B1),,)),,),0))

though that still won't differentiate between e.g. Orange and Yellow for a search value of 25 (though I'm not sure how you are considering 25 "closer" to 30 than 20 in any case).

Regards




回答2:


Another method of doing this is to place the numbers and colours into a table, order numbers by highest to smallest and use the formula below:

=INDEX(B4:B10,MATCH(B1,A4:A10,-1))


来源:https://stackoverflow.com/questions/23757793/use-index-match-to-find-greater-than-equal-to-value

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!