エクセルで最も近い値を検索・取得する方法は?

スポンサーリンク
デフォルト 0未分類

エクセル(excel)で最も近い値を探すにはどんな方法があるんでしょうか?どんな関数が使える?

ある列の数値にもっとも近い数値を探したい場合、ある列の数値に最も近い数値を基準値よりも大きい値も含め、探す関数はあるんでしょうか。

スポンサーリンク

エクセルで最も近い値を検索・取得する方法は?

エクセル(excel)で最も近い値を探すにあたって、VLOOKUPの関数を用いてみると、検索したい基準となるある列の値よりも小さい値の中でしか検索できません。

そこで、例えばA1セルからA15まで数値が並んでいるとしたらA16セルでもよいですが例えばA20セルに基準値を入力します。

取得したい値は次の式で求めることができます。

「=MIN(SMALL(A:A,RANK(A20,A:A,1)-1),SMALL(A:A,RANK(A20,A:A,1)+1))」

他にも、A列に数字が降順に並んでおり、指定値に一番近い値を求めたいとします。

A列に降順に数値が並んでいるとしてB1セルに有る数値を入力してそれに最も近いA列の数値は次の式で求めることができます。

「=IF(ABS(INDEX(A:A,MATCH(B1,A:A,-1))-B1)>ABS(INDEX(A:A,MATCH(B1,A:A,-1)+1)-B1),INDEX(A:A,MATCH(B1,A:A,-1)+1),INDEX(A:A,MATCH(B1,A:A,-1)))」

または、A列にデータがあり、C2セルに検索値を入力されていて、D2セルにC2セルに入力している検索値に一番近い数字を返したい、

・C2セルにある数値と完全一致するものがあればその数値をD2セルに返したい。
・完全一致するものがなければC2セルにある数値以上の数値の中から一番近い数値を返したい。

という場合には、A列のデータを大きい順にソートして良いなら

「=INDEX(A:A,MATCH(C2,A:A,-1))」

とすればよいでしょう。

タイトルとURLをコピーしました