
いつもお世話になっております。
【データ】
A B C D
2 1 4 4
3 2 2 2
4 3 5 1
・ ・ ・ ・
・
・
・
というように1から5までの値が入っています。
A B C
パターン1 A>=4 B>=4 C>=4
パターン2 A<2 C>=4
パターン3 C<3
パターン4 3=<C<4
『パターン1~4に当てはまらない』データのD列の合計を出したいのですが、
どのようにしたら出るのかわかりません。
ちなみに、上記のパターンは、AかつBかつCという条件になっています。
例えば、パターン1は、「Aが4以上かつBが4以上かつCが4以上」という意味です。
説明の仕方がわかりにくいと思いますが、どうぞ宜しくお願い致します。
No.6ベストアンサー
- 回答日時:
優先順に除外の条件整理すると
パターン1' C>=4(パターン3,4の除外)[絶対条件]
パターン2' A>=2(パターン2の除外)[C>=4が確定の絶対条件]
パターン3' A<4,B>=4(パターン1の除外の1)[C>=4,A>=2が確定のB>=4の場合の条件]
パターン4' A>=4,B<4(パターン1の除外の1)[C>=4,A>=2が確定のB<4の場合の条件]
となるので
パターン1'Andパターン2'And(パターン3'orパターン4')[パターン3',4'に重複範囲はなし]のDの合計なら
=SUMPRODUCT((C>=4)*(A>=2)*((A<4)*(B>=4)+(A>=4)*(B<4)),D)
ご回答、ありがとうございます。
>((A<4)*(B>=4)+(A>=4)*(B<4)),
パターン1'~パターン2' はわかったのですが、
こうやって書くのですね。。勉強になります。
これから試してみます。
また、知人から
『他の列にパターンのマークをつけて、どこにもマークがないものを集計したりとすればよいのではないですか』と助言を頂きました。
こちらも試したいと思います。
丁寧に回答していただき、とてもよく分かりました。
本当にありがとうございました。
No.5
- 回答日時:
質問の書き方が稚拙。
>当てはまらない
なら当てはまるほうを書く必要なく、直接当てはまるほうを書いたら(考えたら)。
NOT関数を使う手もあるかも知らない(未確認)が、凝らなくて良いと思う。
>AかつBかつCという条件になっています
AND条件であればSUMPRODUCT関数では
=SUMPRODUCT((A列条件表現)*(B列条件表現)*(C列条件表現))
と*を使うのは知っているのかどうか。知っているなら、今までやったパターンでも書いて質問したら。
質問する前にSUMPRODUCT関数の解説など読み、自分で試行してみるべきである。
ーー
パターン1では
A列条件表現
4以下 (A1:A100<4)
B列条件表現
4以下 (B1:B100<4)
C列条件表現
4以下 (C1:C100<4)
これでデータが小数点数もあるらしいが、上記式で正しいか(該当するか)やってみて。
--
条件が無い列文がしに部分の()をそっくり省略すればよい。
(パターン2,3,4など)
ご回答、ありがとうございます。
質問の書き方が稚拙で、申し訳ありません。。(イヤみで書いてるわけではありませんよ(笑))
>なら当てはまるほうを書く必要なく、直接当てはまるほうを書いたら(考えたら)。
考えたら一直線のところがありまして、
パターン1~4の場合のD列の合計をだしてグラフを作成していました。
そして、「ではパターン1~4に当てはまらないものは」というように
集計が進んで、頭の中が『当てはまらない・・・当てはまらない』となってしまったのです。
>*を使うのは知っているのかどうか。知っているなら、今までやったパターンでも書いて質問したら。
知っています。こちらでは、SUMPRODUCT関数について色々教えていただき、パターン1についてもSUMPRODUCT関数を使って計算しました。今、調べましたら、imogasiさんにも先日お世話になっていました!ありがとうございます!
紙に書きながら色々考えてから質問しましたが、自分が考えている範囲でも書けばよかったです。稚拙な質問となってしまいました。申し訳ありません。
>パターン1では、A列条件表現・・・
こちらは、A、B、Cは4以下ではない場合もあるのです。。それがまたごちゃごちゃしてしまって。
今回もご回答、ありがとうございました。
これからの質問の仕方にも気をつけたいと思います。
No.4
- 回答日時:
それだけ条件がはっきりしているのですから 条件を書き出して DSUM
関数で集計すればいいように思います。
ご回答ありがとうございます。
>それだけ条件がはっきりしているのですから
そうですね。。
実際はもっと列が多いので、頭の中がごちゃごちゃしてしまいました。
考えてみます。
ありがとうございました。
No.3
- 回答日時:
条件が成り立つ場合のSUMPRODUCT関数を書くことができるのであれば
(全てのパターン数)-(条件の成り立つパターン数)
でOK
条件部分は
(A>=4)*(B>=4)*(C>=4) + (A<2)*(C>=4) + (C<3) + (C>=3)*(C<4)
で良いと思います
ブール(Boolean)代数を覚えると、上記のような引き算をしなくてもSUMPRODUCT関数だけで条件を設定することができます。
また、複雑な条件も簡素にすることができるかもしれません。
※例えば、パターン4は C=3 にすることができます
(見た目に分かりやすくなることもありますが、数式から初期の条件を読み取れない場合もあります)
これを機会にブール代数を覚えてみてはいかがでしょう。
※SUMPRODUCT関数の記述方法についてはExcelのヘルプや解説サイト、解説書籍などを参照してください
ご回答、ありがとうございます。
申し訳ありません。私の説明不足でした。
値は、小数も入るのです。
>ブール(Boolean)代数を覚えると、上記のような引き算をしなくても>SUMPRODUCT関数だけで条件を設定することができます。
プール代数、覚えておきます。時間があるときに挑みたいと思います。
ありがとうございました。
No.1
- 回答日時:
データは整数のみですよね?
だとすれば、パターン4は「C=3」しかないですよね?
つまり、C<=3ならパターン3,4に当てはまってしまいます。
従って、パターン1~4に当てはまらないのは、
少なくともC>=4です。よって
AND(C>=4,OR(A<=3,B<=3))
では?
合ってるかな?
この回答への補足
ご回答、ありがとうございます。
>データは整数のみですよね?
申し訳ありません。私の説明不足でした。
小数もあるんです!!!
パターン1~4に当てはまらないデータとして、
A B C D
2 3.67 3.5 4.9
などがあります。
並べ替えをして手作業で調べました・・・・。
関数を使ってどうにか調べられないかと悩んでいます。。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 『◯と●の帰納法』 2 2023/04/19 20:57
- Excel(エクセル) 【関数】【マクロ】データの転記の方法について 2 2023/07/26 15:22
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- 数学 コインを投げて特定のパターンが出現する確率 5 2022/07/31 09:06
- Excel(エクセル) DSUMとSUMIFSについて。 1 2022/09/16 00:51
- ゲーム 皆さん「グラニー」というゲームをご存知ですか?最近そのゲームの3が出ましたが、私はちょっと前から1を 2 2022/08/06 10:34
- 離婚・親族 別居・離婚調停中 面会交流調停を申立するか迷っています 1 2022/03/27 17:09
- アニメ アニメ製作が形成してきたパターンや方式と今後について 2 2023/08/11 03:49
- 数学 数的処理の勉強方法について 最初数的処理の勉強を始めた学生です。 パターン暗記というものが良いらしい 3 2023/04/03 11:54
- 住民税 本人だけの場合の住民税非課税世帯となるための条件についてネットで調べているのですが、その条件は次の2 5 2022/09/10 10:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで日付を検索し転...
-
DataGridViewでyyyy/MM/dd
-
ユーザーフォームのラベルに日...
-
JSPからYYYYMMDDで日付入力する
-
VisualBasic6.0のFormat関数で...
-
システム日付とは?
-
DateTimePickerを西暦表示にす...
-
ExcelVBAでの日付入力について
-
Eclipseの対応する括弧の強調表...
-
テキストボックスにカレンダー...
-
指定した日付が、その月の第何...
-
人をはめた人は 自分に返ってく...
-
1本あたり○円と表示する時どの...
-
日付をクリックすると別ページ...
-
SQLで抽出
-
VBでDate型の大小比較がうまく...
-
VBAで当月の1日を表示するには...
-
テキストボックスに今日の日付...
-
日別集計(その2)
-
経過時間を表示したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのVBAで日付を検索し転...
-
ユーザーフォームのラベルに日...
-
DataGridViewでyyyy/MM/dd
-
Eclipseの対応する括弧の強調表...
-
【Excel VBA】条件に合った行の...
-
VisualBasic6.0のFormat関数で...
-
システム日付とは?
-
【VBA】土日をスキップして日付...
-
テキストボックスにカレンダー...
-
指定した日付が、その月の第何...
-
今日より前の書き方 マクロ
-
VBAで日付入力しているのですが
-
VBでDate型の大小比較がうまく...
-
JSPからYYYYMMDDで日付入力する
-
VBA 日付、未来の日付はエラー...
-
テキストボックスに今日の日付...
-
「eclipseで作るカレンダー(ス...
-
VB 日付範囲チェック
-
VBAで当月の1日を表示するには...
-
1本あたり○円と表示する時どの...
おすすめ情報