- ベストアンサー
MIN関数で空白セルを無視したいのですが
- Excel2010で新たなデータを入力する度に数式を訂正しなくても良いように年間のデータ記入表を作成しています。最低値が0となってしまう問題がありますが、空白セルを無視する方法を知りたいです。
- 空白セルが対象範囲となってしまい最低値が0となってしまうため、MIN関数で空白セルを無視する方法を探しています。
- 空白セル以外のデータを対象範囲としたいのですが、MIN関数ではどのように設定すれば良いでしょうか?Excel2010を使用しています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
MIN関数はすべてのセルが空白の場合には0になります。そこで空白の時に0でなくするには次のような式にすればよいでしょう。 =IF(COUNT(A1:A365)=0,"",MIN(A1:A365))
その他の回答 (3)
- popuplt
- ベストアンサー率38% (31/81)
少し考え方を変えてみます。 範囲の中で有効な値の個数を数えて、大きい順にならべて有効数値の最後が最小値になります。 =LARGE(A1:A365,COUNTIF(A1:A365,">0"))
お礼
考え方を変えてみるという柔軟性が欠如していたようです。なるほど・・です。 ありがとうございました。
- Nouble
- ベストアンサー率18% (330/1783)
もうお気付きだと思いますが 空のセルを参照すると0になります。 もし元のデータ内に0があり得ないなら データとしてはあり得ない 違う値に 式中で変えてしまえばいいでしょう。 しかも、それがどの値よりも大きければ 絶対最小には出てきませんよね。 0を違う値に変えるには その値を足せばいいですよね、 選択的に足すのは A1:A365+(A1:A365=0)*その値 これでいいでしょう。 少し手をかけて INDEX(A1:A365+(A1:A365=0)*その値,0,0) と、します。 これから最小を取ります。 MIN(INDEX(A1:A365+(A1:A365=0)*その値,0 0)) これで、いいでしょう 勿論「その値」は適切な値に読み替えてくださいね。 こんなのもいいかも知れません MIN(INDEX(IF(A1:A365=0,その値,A1:A365),0,0)) お役に立てていたならば幸いです。
お礼
ひとつの答えを導き出すのに色々な数式があるのはわかるのですが、ご教示いただいた二つの数式が同じ答えになる意味を自分なりに検証してみたいと思います。 詳細にわたりありがとうございます。
- keithin
- ベストアンサー率66% (5278/7941)
A1以下のセルに今 =今の式 のように記入しているのを =IF(今の式=0,"",今の式) に直してから、 =MIN(A1:A365) と計算するのが一番確実で簡単な方法です。 どーしても今のシートのまましたいなら、 =MIN(IF(A1:A365<>0,A1:A365)) と記入し、「必ず」コントロールキーとシフトキーを押しながらEnterで入力します。
お礼
ここの考え方が間違っていたんだ、と気がつけました。 すでにシート自体が相当重たくなっているようなので、その辺を考慮しながら簡単な式で解決したいと思います。 ありがとうございました。
お礼
IFもCOUNTも何度も使っているのに・・このような組み合わせで、とは考えが至りませんでした。 ありがとうございました。