- ベストアンサー
Excelにおける数値の抽出(関数)に関して
EXCEL機能を用いた、数値の抽出についての質問です。 例えば、以下のような表があったとします。 A 1 120 2 135 3 152 4 そこで、 (1)この3つの数字(A1~A3)のうち、近い2つ(この場合、135-120=15、152-135=17なので、135と120となります)を抽出し、その2つの平均値を求め、A4のセルに返す。 (2)もし、120、135、150のように、近い2つがない(135-120=15、150-135=15であるため)場合は、中央値である135を抽出し、135をA4のセルに返す。 以上(1)、(2)の条件を含んだ数式をA4のセルに組むことはできますか? VBAを用いると、可能でしたが、EXCELで組むことができませんでした・・。できれば、EXCELで行いたいと考えています。 わかる方、教えてください。よろしくお願いします!!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんな方法も有ります。 =(MEDIAN(A1:A3)+CHOOSE(SIGN(MEDIAN(A1:A3)-AVERAGE(A1:A3)))+2,MIN(A1:A3),MEDIAN(A1:A3),MAX(A1:A3)))/2 要は、3つの数の中間値と平均を比べ 中間値>平均なら、中間値と最大値の平均 中間値<平均なら、中間値と最小値の平均 中間値=平均なら、中間値と中間値の平均(つまり中間値) めんどくさい方法なのでボツでしょうね。 IFのネストの方が解りやすいです。 極力IFを使わないでやろうとするのが、私の悪いクセなので...、
その他の回答 (1)
- koko88okok
- ベストアンサー率58% (3839/6543)
スマートな式ではありませんが、・・・ =IF(OR(ABS(E1-E2)=ABS(E1-E3),ABS(E1-E2)=ABS(E2-E3),ABS(E1-E3)=(E2-E3)),SMALL(E1:E3,2),MIN((E1+E2)/2,(E1+E3)/2,(E2+E3)/2))
補足
早々のご回答ありがとうございます。 早速、試したところ、 この式では、3つの数字のうち近い2つの平均でなく、平均のMINが返されてしまいました・・ しかし、参考になりました!ありがとうございます!
お礼
早々のご回答ありがとうございます。 早速、試したところうまくいきました。 ありがとうございました!! しかし、おっしゃるように、IF関数でも数式を組むことができそうですね!試してみます。