• 締切済み

エクセルについて

エクセルについて質問です。 エクセルで「130」という数字を A 200 B 180 C 150 D 100 の中から一番近い数字を選択するときに使う関数を教えて欲しいです。 できれば計算式もお願いします。

みんなの回答

  • dghjty145
  • ベストアンサー率46% (42/90)
回答No.1

以下のようにすればよいと思います。 まず、B2からB5に元データが入力されており、E1に調べたい数字を入力するものとします。 B列 C列   D列  130    A 200        B 180 C 150 D 100 まずC2に =B2-E$1 と入力し、計算式を下にコピーします。 次にD2に =ABS(C2)  と入力し、計算式を下にコピーします。 そして、F2に =INDEX(B2:B5,MATCH(MIN(D2:D5),D2:D5,0) , ) と入力します。 ここにE1に入力した数字に最も近い数字が表示されます。F2に 150 と表示されるはずです。 基本的にはこれでよいのですが、元データによっては、最も近い数字が2つあることもありえます。たとえば、B5の数字100を110にしたら、110も表示されなければなりません。そのために、F2に以下のように入力し、そのような場合にも該当するデータが表示されるようにします。 =IF(MIN(D2:D5)=0,"",IF(COUNTIF(C2:C5,-1*INDEX(C2:C5,MATCH(MIN(D2:D5),D2:D5,0),))>=1,INDEX(B2:B5,MATCH(-1*INDEX(C2:C5,MATCH(MIN(D2:D5),D2:D5,0),0),C2:C5,0)),"")) 参考になりましたでしょうか。

関連するQ&A