複数の条件に合致するデータの件数を出したいのですが、どうしたら良いでしょう??
データは
性別コード|年令コード
1|3
2|1
1|4
1|5
1|1
2|5
といった具合に入力されていて、
性別=1かつ年令=1
の件数はいくつか、というものを出したいのです。
配列数式で
{=Count(If(A1:A10=1,B1:B10,""))}
試して見たんですが、一つの条件に合致する件数のみしかカウントできません。(例えば、性別=1の件数)
複数条件のカウントをするにはどうしたら良いでしょうか?
ご存知の方がいらっしゃいましたら、教えて下さい。
No.1ベストアンサー
- 回答日時:
こんにちは。
maruru01です。配列数式なら、
{=COUNT(IF((A1:A10=1)*(B1:B10=1),1))}
で、配列数式を使用しない場合は、
=SUMPRODUCT((A1:A10=1)*(B1:B10=1))
です。
ありがとうございます!
maruru01さんには、いつもお世話になっているような気がします。
いつも、ありがとうございます♪
おかげさまで、データが取れました!たすかりました~☆
さて質問なのですが、上記のような複数の条件を付ける場合には「*」でつなげると良いということでしょうか?
また、配列数式のif分の最後の「1」は、どう言う意味になるんでしょう??
もし、お時間がありましたら、教えていただけるとうれしいです。
どうぞ宜しくお願い致します。
No.2
- 回答日時:
>上記のような複数の条件を付ける場合には
>「*」でつなげると良いということでしょうか?
「*」で繋げるのはAND条件(論理積)の場合です。
OR条件(論理和)の場合は、「+」で繋げます。
OR条件(「A列が1」か「B列が1」の何れかが成立する)
{=COUNT(IF((A1:A10=1)+(B1:B10=1),1))}
=SUMPRODUCT(((A1:A10=1)+(B1:B10=1)>0)*1)
となります。
>配列数式のif分の最後の「1」は、どう言う意味になるんでしょう
COUNT関数は、範囲内の数値の個数を数えます。
したがって、数値であれば、「1」でなくても、何でもいいわけです。
ちなみに、IF関数の第2引数(TRUEの場合)を空白にすると、「0」が返されるので、
{=COUNT(IF((A1:A10=1)*(B1:B10=1),))}
としても、OKです。
なお、IF関数の第3引数(FALSEの場合)を省略していますが、この場合は「FALSE」という論理値を返し、これは数値ではないのでカウントされません。
おー!!!!
とても良く分かりましたぁ☆
こうやって、理屈を説明してもらえると、色々と応用できますね。
とぉっても勉強になりました。
ありがとうございました☆☆
また、質問すると思いますが、どうぞ宜しくお願い致します♪
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Excel(エクセル) Excelでの複数条件のカウントについて 1 2022/09/25 07:40
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Excel(エクセル) COUNTIFSについて 2 2022/08/30 14:48
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Excel(エクセル) 指定した条件でTRANSPOSE関数を使う 5 2023/08/18 19:45
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) エクセルで、2つのセルに検索値を入れて結果を一覧表示させる 1 2023/07/10 10:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
エクセルでXY座標に並べられた...
-
大量の変数を定義するにはどう...
-
定数配列の書き方
-
Excel2010のinputboxで複数デー...
-
サイズのわからない配列
-
配列の中の最大値とそのインデ...
-
一括で簡単に計算式を入力したい
-
OutOfMemoryExceptionの回避策...
-
Dir関数で読み取り順を操作でき...
-
エクセルの列一括書き込み
-
配列の初期化に時間がかかりま...
-
グラフの「項目軸ラベルに使用...
-
構造体配列内の文字列検索のよ...
-
Redim とEraseの違いは?
-
Msgboxのループ
-
セル範囲から一次元配列の生成
-
2次元配列でウォッチが出来ない
-
エクセル VBA 変数を一括で宣言...
-
dimを使わずにredimを使う場合
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
Excel2010のinputboxで複数デー...
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
配列のペースト出力結果の書式...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
VBAで配列引数を値渡しできない...
-
C++で作成したDLLにVBAから配列...
-
構造体配列の特定のメンバーをF...
-
OutOfMemoryExceptionの回避策...
-
大量の変数を定義するにはどう...
-
VBAでMODE関数をつくる
-
VBScriptでCSVファイルを読み出...
-
定数配列の書き方
-
Segmentation Fault (メモリ制限?)
-
Excelのメモリ(配列)の上限は2G...
-
Redim とEraseの違いは?
-
CheckBoxの配列化
-
配列の中の最大値とそのインデ...
おすすめ情報