アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで、X値以上の近似値を探す関数を探しています。

X値以下の最大近似値は、VLOOKUP関数で検索できるのですが、X値以上の最小近似値を検索する関数がわかりません。
例:
M2(X値)  メーカー
3.0   A社
3.5   B社
4.2   C社
: :
X値が3.1M2の場合 B社を検索するように関数をつくりたいのですが。
宜しくご教授お願いします。

A 回答 (2件)

次の方法は如何でしょうか。


A1:B10範囲をリスト(見出し行あり)として、C1にX値が入力、C2にメーカ名を表示とします。
C2に=INDEX(B:B,SMALL(IF($A$2:$A$10>=C1,ROW($A$2:$A$10),99999),1))と入力、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
    • good
    • 0
この回答へのお礼

回答いただきまして、ありがとうございました。
すごいですね、勉強になりました。試してみます。

お礼日時:2008/04/11 15:01

M2(X値)と書かれた列がA列だとして、D1セルに「3.1」を入力し、適当なセルに以下の式を貼り付けます


 =MATCH(MIN(INDEX(SUBSTITUTE((A1:A100>=D1)*1,0,10^5)*ABS(A1:A100-D1),))+D1,A1:A100,0)

するとA列の値が「3.5」である行の行番号を返します。質問の例では「3」ですね。B列(メーカー)の値を取得したいなら、上記の式にINDEX関数を組み合わせれば良いです
 =INDEX(B:B,MATCH(MIN(INDEX(SUBSTITUTE((A1:A100-D1>=0)*1,0,10^5)*ABS(A1:A100-D1),))+D1,A1:A100,0))
結果は「B社」となるはずです。

データは100行目まであるものとしていますが、必要に応じて変更してください
    • good
    • 1

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