重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

任意の順位(1>2>0)がありA列範囲内(A1:A5)から一番大きい値をB1に抽出させたいです。

A列
2
1
2
0
1

この場合B1セルに『1』と抽出させたいです。
ちなみに『1』がなければ『2』が最大値となりB1セルに『2』
『1』も『2』もなければ『0』が最大値となりB1セルに『0』と抽出させたいです。

MAX関数で=MAX(A1:A5)ならば『2』が抽出されますが今回の質問では(1>2>0)この順位で抽出できる関数を探しています。

どうぞ宜しくお願い致します。

A 回答 (1件)

最大値ではなく、順位を求めたいのですね。


この場合、MAXやMINなどの最大値や最小値を求める関数ではなく、
SMALLやLARGEなどの順位を求める関数を使うと判りやすいと思う。
https://www.hello-pc.net/howto-excel/small/

こちら↓は、0のみの場合もあるので、それを考量したものです。
 =IF(SUM(A1:A6)=0,0,SMALL(A1:A6,COUNTIF(A1:A6,0)+1))

配列数式を使う方法のあるでしょうが、今回は上記で出せます。
https://oshiete.goo.ne.jp/qa/4728430.html
    • good
    • 0
この回答へのお礼

回答をありがとうございます。
おっしゃるとおり最大値ではなく最優先でした。

関数も問題なく結果を抽出してくれました。

参考URLも後から確認し勉強するつもりです。
取り急ぎお礼まで
ありがとうございました。

お礼日時:2018/06/01 07:47

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