過去ログ

                                Page     171
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼VBAの質問ではないのですが  こうき 02/10/7(月) 15:05
   ┗Re:VBAの質問ではないのですが  yu-ji 02/10/7(月) 15:36
      ┗Re:VBAの質問ではないのですが  こうき 02/10/7(月) 17:33

 ───────────────────────────────────────
 ■題名 : VBAの質問ではないのですが
 ■名前 : こうき
 ■日付 : 02/10/7(月) 15:05
 -------------------------------------------------------------------------
   VBAの質問というわけではないのですが、
ある範囲で0以外の最小値を求めたいと思ったらどうしたらよいのでしょうか?

  A   B   C   D   E
1 200  300  100   0  150

例えば上記で、F1に "= min(A1:E1)"と書くと、結果は0になりますが、
0以外の最小値である100がでるようにしたいのです。
ちなみに0がある列や行はランダムです。

よい方法がありましたら教えてください。
 ───────────────────────────────────────  ■題名 : Re:VBAの質問ではないのですが  ■名前 : yu-ji  ■日付 : 02/10/7(月) 15:36  -------------------------------------------------------------------------
   ▼こうき さん:
>VBAの質問というわけではないのですが、
>ある範囲で0以外の最小値を求めたいと思ったらどうしたらよいのでしょうか?
>
>  A   B   C   D   E
>1 200  300  100   0  150
>
>例えば上記で、F1に "= min(A1:E1)"と書くと、結果は0になりますが、
>0以外の最小値である100がでるようにしたいのです。

VBAでやるなら簡単ですが、VBAでやらないなら配列数式を使う必要があります。
B3:F3が検索範囲とすると、

=MIN(IF(B3:F3<>0,B3:F3))

と入力して、CTRL+SHIFT+改行で配列数式にして、最小値を見つけられます。

配列数式については、ヘルプの「配列数式」についての記述か、以下のHPを参考
にしてみてください。

http://homepage2.nifty.com/housaka/
 ───────────────────────────────────────  ■題名 : Re:VBAの質問ではないのですが  ■名前 : こうき  ■日付 : 02/10/7(月) 17:33  -------------------------------------------------------------------------
   ▼yu-ji さん:
こんにちは。
>>B3:F3が検索範囲とすると、
>
>=MIN(IF(B3:F3<>0,B3:F3))
>
>と入力して、CTRL+SHIFT+改行で配列数式にして、最小値を見つけられます。

こんなに簡単にできるんですね。
ありがとうございました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 171