- ベストアンサー
エクセル X値以上の近似値検索
エクセルで、X値以上の近似値を探す関数を探しています。 X値以下の最大近似値は、VLOOKUP関数で検索できるのですが、X値以上の最小近似値を検索する関数がわかりません。 例: M2(X値) メーカー 3.0 A社 3.5 B社 4.2 C社 : : X値が3.1M2の場合 B社を検索するように関数をつくりたいのですが。 宜しくご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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行目まであるものとしていますが、必要に応じて変更してください
その他の回答 (1)
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 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キーを同時押下して下さい。
お礼
回答いただきまして、ありがとうございました。 すごいですね、勉強になりました。試してみます。