• ベストアンサー

エクセル X値以上の近似値検索

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

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

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)
回答No.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キーを同時押下して下さい。

mi960
質問者

お礼

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

関連するQ&A