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

エクセルについて質問です。

エクセルで「130」という数字を

A 200
B 180
C 150
D 100

の中から一番近い数字を選択するときに使う関数を教えて欲しいです。
できれば計算式もお願いします。

A 回答 (1件)

以下のようにすればよいと思います。



まず、B2からB5に元データが入力されており、E1に調べたい数字を入力するものとします。
B列 C列   D列  130   
A200      
B180
C 150
D100

まず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)),""))

参考になりましたでしょうか。
    • good
    • 0

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