プロが教える店舗&オフィスのセキュリティ対策術

エクセルのMATCH関数を使って“E18:E23”の表から125以下の1番目の値相当する”“E11:E16”の値を取り出す計算式を作成しています。(“E18:E23”表のそれぞれの行の数値が“E11:E16”の表のそれぞれの行の数値のリンクしています。そのときの数式が“=INDEX(E11:E16,MATCH(125,E18:E23,1),1)”です。この場合は上手くいくのですが、条件を“125以上の1番目の値相当するを作成して、”=INDEX(E11:E16,MATCH(125,E18:E23,-1),1)“の様にMATCHの式の最後を-1にするんですが、”#N/A“のエラーメッセージが表示します。どうすればいいのでしょうか?(*なお表“E18:E23”は数値が小さい順ですが、表“E11:E16”そうとは限りません)  それと、125以上の1番目だけでなく、2番目、3番目を拾い出す計算式はないでしょうか? 宜しくお願いします。関数に関しては初心者でいろいろ検索しましたが、ぴったり来ません。

A 回答 (2件)

こういうことでは?



「125以上の1番目の値相当する」

=INDEX(E11:E16,MATCH(INDEX(SMALL((E18:E24>=125)*E18:E24,COUNTIF(E18:E24,"<=125")+1),,),E18:E24,0),1)

"<=125")+1) の+1が125の次の1番目ということで、
2番目、3番目 は、+2, +3 ということになりますが、そういう数が存在している限りです。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。無事解決しました。

お礼日時:2008/12/03 11:13

match関数の照合型に-1を使いたければ、検査範囲のデータは降順に


並べ替えておくのがルールです。大きな数値が上で小さな数値が下
ですね。

で、match関数は見つけた数値が検査範囲の何行目にあったかを返し
てくるので、index関数に渡すときに+1すれば1行下、+2すれば2行下
の値を取り出せます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!