2017-09-07 9 views
0

Excelファイルに入力する値に最も近い値を取得しようとしています。Excel式/ VBAでソートされていないランダムシートに最も近い値を見つける

LE 893 337 
574 CH 185 
524 768 IA 

:それはランダムな場所にテキストを含む、私のテーブルの例です:初めに

(例はD4 = 1は、185を返す場合)、私は列に最も近い値を見つけるために、=INDEX(A1:A3,MATCH(MIN(ABS(A1:A3-$D$4)),ABS(A1:A3-$D$4),0))を使用していました、すべての結果をD4セルと再度比較しますが、テキストが現れた瞬間に#VALUEエラーが表示され始めました。 ISTEXTまたはISNUMBERの意味は実際には助けられませんでした。ただ#VALUEエラーの代わりに空のセルを投げ始めました。

また、私はそれが本当にそれを行うための最良の解決策であるとは信じられません。私は明らかに、新しいシートを作成し、すべての数値をコピーし、すべての単一の列を比較し、すべての結果を比較するマクロを書くことができますが、そのように愚かでリソースを消費します。

答えて

0

使用AGGRAGATE:

=AGGREGATE(15,6,$A$1:$C$3/(ABS(A1:C3-D4) = AGGREGATE(15,6,ABS($A$1:$C$3-D4),1)),1) 

enter image description here