web-dev-qa-db-ja.com

INDEX MATCHを使用して、値以上または等しい値を検索します

オンラインとExcelヘルプで検索していますが、これが可能かどうかがわかりません。

数値、値、および検索語のリストが与えられた場合、値が検索語以上になる値を見つける必要があります。例を参照してください。

Excel Index Match Example

ExcelはRedを返しますが、15は10より大きいため、Orangeを返す必要があります。
その他の望ましい結果の例は次のとおりです。

  • 5 =赤(またはN/A)
  • 25 =黄色
  • 63 =バイオレット
  • 15434 =バイオレット(またはN/A)

リストを降順で並べ替え、MATCH-1引数に[match_type]を使用すると、問題なく機能することに気付きます。but、リストは1,000行を超え、昇順ではるかに読みやすくなっています。

5
EvilDr

希望する結果は少し一貫性がないように見えます。 15 Orangeで望ましい結果が得られるのに、63 Indigoで望ましい結果が得られるのはなぜですか?

実際、対応する値が検索値に最も近い絶対にその値より下か上かに基づいて一致させようとしていますか?

もしそうなら:

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

それでも、たとえば検索値が25の場合のオレンジと黄色(ただし、25が20よりも30に「近い」とどのように考えているかはわかりません)。

よろしく

7
XOR LX

これを行う別の方法は、番号と色をテーブルに配置し、番号を高いものから小さいものの順に並べて、次の式を使用することです。

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