• ベストアンサー

複数条件で最小値を求める

Excel2007です。 複数の条件をつけて最小値を求めたいです。配列数式を使います。 A列に体重、B列に性別、C列に住所だとして 男で東京都と神奈川という条件の中から体重の最小値を求める時、 {=MIN(IF((B1:B100="男")*((C1:C100="東京")+(C1:C100="神奈川")),A1:A100)}でCtrl+Shift+Enterで確定しました。 実際のデー量はもっと多いです。 たぶんきちんと計算されているようなのですが、自信がありません。 正しい数式になっているでしょうか? マクロは使わない方法でお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

問題ないと思います(但し、括弧の数が合っていません) =MIN(IF((B1:B100="男")*((C1:C100="東京")+(C1:C100="神奈川")),A1:A100))

oimoita
質問者

お礼

ご回答ありがとうございます。 安心しました。 括弧の数は入力ミスでした。

関連するQ&A

  • 複数条件で最小値を求める

    Excel2007です。 複数の条件をつけて最小値を求めたいです。配列数式を使います。 A列に体重、B列に性別、C列に年齢だとして 男で20歳~25歳という条件の中から体重の最小値を求める時、 {=MIN(IF((B1:B100="男")*((C1:C100="20")+(C1:C100="21")+(C1:C100="22")+(C1:C100="23")+(C1:C100="24")+(C1:C100="25"))),A1:A100)} としてみたのですが、うまくいきません。 おそらく、((C1:C100="20")+(C1:C100="21")+(C1:C100="22")+(C1:C100="23")+(C1:C100="24")+(C1:C100="25"))が違うのだと想像はつくのですが、どうすればきちんとでるのかわかりません。 マクロは使わない方法でお願いします。

  • 複数条件のcountif?

    A列に1~12と月があり B列に条件A、B、Cがあるとします。 5月の"A"の数をカウントし、  0件なら""  1件なら"△"  2件なら"○" とC1セルに表示させたいのですが、 {=SUM(IF((A1:A10=5)*(B1:B10="A"),1))} という配列形式以外にカウントする数式ございますでしょうか? (CTRL+shift+enterを周知させるの面倒なので) お知恵拝借願います。

  • 複数条件のMIN関数

    いつもお世話になっております。 以前にも質問した内容なのですが、当てはまる回答が なかったため、再掲させていただきます。 A列 B列 1  06/06/06 3  06/08/01 2  06/06/15 3  06/07/25 1  06/07/20 1  06/06/06 ・   ・ ・   ・ のようなデータがあります。 そこで、C列に 1) A列が「1」且つ、B列が最小値のもの 2) A列が「2,3」且つ、B列が最小値のもの のデータを取得したいです。 ただ、A、B列ともに固定値ではないため、Null値が 発生します。 そこで、教えて頂いた数式が MIN(INDEX(SUBSTITUTE((($A$1:$A$10=1)*($B$1:$B$1>0))*1,0,10^7)+(B1:B10)-1,))) で、Min関数がNull値を感知することと、シリアル値が0の場合、最小値がうまく取れないと いう現象を考慮してしてあります。 そのため、Null値の場合の答えが「9999999」になりますが これを表示させたくないので「=IF(C1=9999999,\"\",」 としてますが、この数式を何行にも渡り書いている為 パフォーマンスがかなり悪いです。 なにかいい方法、もしくはいい数式はないですか??教えて下さい。

  • 複数条件のMIN関数

    いつもお世話になっております。 前回、誤って二重投稿してしまった為、サイト側で 削除されてしまったようなので、再投稿致します。 もう内容を見ていた方、何度もスミマセン。 A列 B列 1  06/08/01  3  06/07/20 1  06/07/25 2  06/07/28 2  06/07/20 ・  ・ ・  ・ こんな感じのデータがあります。 A列、B列ともに固定値ではないため、空の行が発生します。 そこで、A列が「1」だった場合のB列の最小値とか A列が「2もしくは3」だった場合のB列の最小値の日付データ をC列に求めたいと思ってます。 数式は、教えて頂いて =MIN(INDEX(SUBSTITUTE((($A$1:$A$10=1)*($B$1:$M$10>0))*1,0,10^7)+(B1:B10)-1,)) =MIN(INDEX(SUBSTITUTE((($A$1:$A$10>1)*($B$1:$M$10>0))*1,0,10^7)+(B1:B10)-1,)) で記述しているのですが、A列の値がない場合数式の答えに 「9999999」や「10000000」が入ってきます。 (O値が入ったときに置き換えをしている為) それを表示させないために、「=IF(C1=9999999,"",」を 数式の頭に入れているのですが、何行にも渡って上記の数式を 書いているため、再計算され続けてパフォーマンスがかなり悪いです。 もっと効率よく、計算できる方法があれば教えて下さい。 お願い致します。

  • 複数の条件が一致する合計。

    複数の条件に一致する合計を求める方法には、 =SUM(IF(A1:A10="○",IF(B1:B10="○",C1:C10,0),0)) とセルに入力し、Ctrl+Shift+Enter =SUMPRODUCT((A1:A10="○")*(B1:B10="○")*(C1:C10)) があると思うのですが、このそれぞれの範囲の部分を列全体で指定したいんです。 ですが、A:Aのようにするとエラーになるし、A1:A65536にすると計算(再計算)にすごく時間がかかります。 SUMIFだと列全体を指定してもすぐ計算(再計算)されるのですが、条件が複数になったときでも列全体を指定できてすぐ再計算される方法はないですか?

  • エクセル又はOpenOfficeで条件付き最小値を

    エクセル又はOpenOffice.orgで条件付きの最小値を抽出する数式 当方OpenOffice.orgのCalc使用です。 関数も勉強し始めたばかりで、まだまだ理解しきれていませんが、宜しくお願いいたします。 下記の条件で最小値を出す数式を色々調べては試しているのですが、中々うまくいかないので質問させて下さい。   A(所要時間)  B 1  01:00:00    04.5 2  00:30:00    20.5 3  02:10:00   -10.0 4  01:40:00    07.5 5  00:25:00   -05.0 6  00:45:00    13.5 7  00:15:00   -03.5 8  01:05:00    18.0 上記表からB列の値がプラス(つまり0以上)の中の最大所要時間(この場合01:40:00)と最小所要時間(00:30:00)、 B列の値がマイナス(0以下)の中の最大所要時間(02:10:00)と最小所要時間(00:15:00)をそれぞれ求めたいと思っています。 最大所要時間は「=SUMPRODUCT(MAX((B4:B100>=0)*A4:A100))」で求められましたが、MINではダメでした。 SMALLを使うのかもと思い調べてみましたが、だんだん混乱してしまって・・・ 似たような質問はたくさん見つかりましたが、配列数式を使用するものばかりでした。 Calcは配列数式に制限があり、IFやINDEXが含まれる配列数式は使えないらしく、苦労しています。 DMIN関数も考えましたが、条件を割り当てるために不要なセルを作成しなければならないので、避けたいと思いまして。 最小時間が求まれば完成という段階なので、できれば数式で対応したいです。 色々と制約があって申し訳ないのですが、お知恵をお貸しいただけると助かります。 よろしくお願いいたします。

  • SUMPRODUCT関数を用いた最小値

    お世話になっております。 SUMPRODUCT関数の最小値の求め方で壁を越えられないため 皆様のお知恵をお貸しください。 下のような表があります。   A B C(セル列) 1 青 ○ 100 2 赤 ○ 95 3 青 × 75 4 青 ○ 200 5 赤 × 65 6 赤 × 80 7 青 ○ 105 8 青 × 85 9 赤 ○ 110 10 赤 × 70 青かつ○の最大値(200)は =SUMPRODUCT(MAX((A1:A10="青")*(B1:B10="○")*(C1:C10))) にて求められるのですが 青かつ○の最小値(100)は =SUMPRODUCT(MIN((A1:A10="青")*(B1:B10="○")*(C1:C10))) とすると、0が返ってしまいます。 googleで検索しては検証しを繰り返しましたが どうにもうまくいきません。 Shift+Ctrl+Enterによる {=MIN(IF((A1:A10="青")*(B1:B10="○"),C1:C10))} では求められますが、出来れば配列でない方法を探しています。 宜しくお願い致します。

  • 最大値、最小値の求め方

    たびたびすみません。 A列 B列 あ  1 え 2 い 4 あ 0 い 0 あ 2 か 3 上記の列から"あ"以外の0を除いた最小値を求めたく MIN(IF(OR(A1:A7="あ",B1:B6<>0),"",B1:B6)) で数式配列にしたのですが、 うまくいきません。 単純なことの様な気するのですが、 ご指摘いただけないでしょうか?

  • 《エクセル2000》配列数式とMIN関数を使い、最小値を出したいのですが

    いつもお世話になっております。 配列数式とMIN関数を使って最小値を出す作業をしていますが、最小値は0.3なのに0.0と返って来てしまいます。 条件は「A列が1で、B列が数字だったら」なのですが、B列には空白も入っています。 B列の空白のセルは、ISNUMBER関数でチェックするとFALSEが返ってくるのですが、もしや空白を0とみなしているのでしょうか。 COUNTIFのMIN版と言いますか、条件つきで最小値を出せる関数があればいいのですが…原因と対策をご存じの方、どうかご教示を。

  • エクセル 複数の条件付で最小値を求めたい

    SMALL関数を使用し、最小値を求めようと思ったのですが、 以下のように複数条件で絞り込んで最小値を出したいと思います。 (A-Bの組み合わせ毎の最小値を出す) A  B  C 東京 渋谷 1000 東京 渋谷 2000 東京 葛飾 2000 東京 葛飾 2500 東京 葛飾 4000 ↓ 東京 渋谷 1000 東京 葛飾 2000 複数条件抽出の場合SUMPRODUCTを使用していますが、 どうにもSMALL関数を組み込むことができず、お力を お貸しください。よろしくお願いいたします。 バージョンはエクセル2003を使用しています。

専門家に質問してみよう