• ベストアンサー

EXCELでOR条件で合致するデータのカウント

たとえば、A列とB列どちらかに日付が入っているレコードをカウントしたいのですが どうもうまくいきません。カウント関数ではAND条件でカウントされてしまいます。    A    B 1  3/3 2       3/4 3  4  3/1   3/10 上記の場合、3件としたいのですが ・・・ よろしくお願い致します

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

>(INDEX(1/(A1:A100&B1:B100 この数式のイメージがわからないので教えてもらってもいですか? A列とB列を連結した文字列の配列が空白以外ならその結果(TRUEまたはFALSE)を分母にして1で割るとTRUEは「1」、FALSEは#DIV/0Eエラーになります。 この配列をCOUNT関数で数字の数をカウントするとエラーは無視して数字だけの数をカウントしますので、求める結果が得られるわけです。 ちなみに、INDEX(配列,)の部分は配列を範囲として認識させるための数式ですので、以下のようにINDEX関数を使用しない場合は、そのままCtrlキーとShiftキーを押してEnterする操作で配列数式にする必要があります。 =COUNT(1/(A1:A100&B1:B100<>""))

satoshi5050
質問者

お礼

きめ細かいご説明、ありがとうございます。 本当に助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 Excelはそのバージョンによって使う事の出来る関数が異なる場合がありますので、Excelの御質問をされる際には、御使いになられるExcelのバージョンを御伝え頂く様御願い致します。  もし、御使いになられるExcelのバージョンがExcel2007かそれ以降のものである場合には、COUNTIF関数とCOUNTIFS関数を併用して、次の様な方法でカウントする事が出来ます。 =COUNTIF(A:B,">=1")-COUNTIFS(A:A,">=1",B:B,">=1")  尚、何故、COUNTIF(A:B,">=1")の部分でCOUNT関数ではなくCOUNTIF関数を使っているのかと申しますと、負の数や0といった「日付けには変換出来ない数値」を排除するためです。(尤も、この方法でも只の正の数値と、日付けを区別する事は出来ませんが)

satoshi5050
質問者

お礼

大変失礼しました。バージョンが分かった方が 回答し易いですよね。今度からそうさせて頂き ます。(ちなみに今回はEXCEL2010)です。

全文を見る
すると、全ての回答が全文表示されます。
  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.3

C列を作り、=count(A1:B1) とし、全行にコピー。 その最下部に =countif(C1:C**,"<>0") でどうでしょう?

satoshi5050
質問者

お礼

ありがとうございます。 ワンクッションおくのも手ですね。 こちらも試してみます。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

>上記の場合、3件としたいのですが ・・・ SUMPRODUCT関数でA列とB列を加算した値が0より大きい組み合わせの個数を加算します。 日付の場合はマイナス値が無いのでマイナスの値を考慮する必要がありません。 =SUMPRODUCT((A:A+B:B>0)*1)

satoshi5050
質問者

お礼

このようなやり方もあるんですね。 どうもありがとうございます。試してみます。

全文を見る
すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

A列とB列のいずれかにデータが入力されている場合にカウントしたいなら以下のような数式で求めることができます。 =COUNT(INDEX(1/(A1:A100&B1:B100<>""),))

satoshi5050
質問者

お礼

どうもありがとうございます。 早速試してみます。

satoshi5050
質問者

補足

(INDEX(1/(A1:A100&B1:B100 この数式のイメージがわからないので教えてもらってもいですか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel 2列を比較して合致するものをカウントしたい

    A B 1 2 1   2      …* 1 1 A列とB列を比較して、ともに空欄であるものをカウントさせたいのですがどうのような関数を使ったらよいでしょうか? 上記場合だと「*」の行がA列B列ともに空欄なのでこれをAまたはB列の最後に「1」とカウントさせたいのです。できれば他の列に余計な数式を入れてそれを計算させると言う事をしたくないのですが、何か解決方法があればよろしくお願いします。

  • 【Excel】複数条件でのカウント

    お世話になります。  列 A    B 行  項目X    項目Y 1 あ     aaa 2 あ     bbb 3 い     aaa 4 い     bbb 項目X = "あ" & 項目Y = "aaa" のカウントをしたいのですがどのような関数になりますか? それぞれ単独の場合は、 (1)countif(A1:A4,"あ") → 2 (2)countif(B1:B4,"aaa") → 2 になるのはわかるのですが、ひとつのセルにこの二つの条件をand条件でカウントするやり方がわかりません。 よろしくお願いします。

  • 複数条件でのカウント方法を教えてください。

    複数条件でのカウント方法を教えてください。 A列   B列 新聞   2 チラシ  1 WEB   3 新聞   2 チラシ  4 新聞   1 上記のような表があったとします。 2つの条件でカウントしたいのです。例えば、新聞(A列)でB列が2の人が何人いるかを出したい場合どうしたらよろしいでしょうか? SUMPRODUCTを使用して出してみたのですが上手くいきません。 =SUMPRODUCT((A:A="新聞")*(B:B=2),B:B) 上記のでは正しい数字が出ませんでした。 どうしたらいいのでしょうか? どなたか教えてください。

  • EXCELでのカウント

    こんんちは!いつも使っている簡単な関数ならわかるのですが... 範囲→1列(A列やB列) 範囲内で指定の文字が入力されているセルの数をカウントしたい(返したい)んです。 例)B列に「2」「23」「50」「13」「12」と入力されているとしたら   「2」を入力しているセルをカウントしたかったら   「3」と出てくるように... COUNTIF関数だと「2」を指定したら「2」と入力したセルだけカウントされますよね。(例えば上記例だと「1」と帰ってくる。これを「2」を含んでいるセルの数をカウントしたいんです。 教えてください。 宜しくお願いいたします。

  • EXCEL 複数条件で重複しないデータのカウント

    こんにちは。 EXCEL2013を使用して以下の関数をご教授ください。 データはデイリーで7000行(日により違います) ★1 A列(番号)は重複しないデータをカウントしたいです。 添付画像で重複しないものを1として数えると、18件です。 そこに条件で、E列(区分)が「1」でF列(支店)が「大阪」をカウントしたいです。 ★2 上記★1のK列(金額)の平均金額を出したいです。 それを別の表に抽出するので、関数をご教授頂けたらと思います。 ★3 C列(顧客)またはD列(顧客名)の総金額(K列(金額)を足した総合計)も 出したいです。これは重複するものも含みます。上位10件ほどを知りたい為。 ★4 ★3に一つ条件を追加でE列(区分)が「0」の時の金額(K列(金額)を足した総合計)も出したいです。これは重複するものも含みます。上位10件ほどを知りたい為。 ★5 ★4のC列(顧客CD)またはD列(顧客名)の全体の注文割合(注文率)も知りたいです。 明日の午前中までに資料を提出しないといけない為、 お早めに回答頂けたら幸いです。 説明不足でありましたら、補足致します。 宜しくお願い致します。

  • Excel 関数でcountifの複数条件

    Excelで条件にあった個数をカウントする関数はcountifですが、 複数の条件にあった個数をカウントする場合、countifの式はどうすればよいのでしょうか。 例えば A列の1行から20行で"○"が入っている個数のカウントは =countif(a1:a20,"○")ですが A列の1行から20行で"○"が入っていて、なおかつ B列の1行から20行に"1"が入っている個数のカウントを知りたいです。 =countif(a1:a20,"○")and(b1:b20,"1")ではないですよね。 よろしくご教授願います。

  • エクセル 複数条件で重複しないデータのカウント

    こんにちは。 EXCEL2013を使用して以下の関数をご教授ください。 データはデイリーで7000行(日により違います) ★1 A列(番号)は重複しないデータをカウントしたいです。 添付画像で重複しないものを1として数えると、18件です。 そこに条件で、E列(区分)が「1」でF列(支店)が「大阪」をカウントしたいです。 ★2 上記★1のK列(金額)の平均金額を出したいです。 それを別の表に抽出するので、関数をご教授頂けたらと思います。 ★3 C列(顧客)またはD列(顧客名)の総金額(K列(金額)を足した総合計)も 出したいです。これは重複するものも含みます。上位10件ほどを知りたい為。 ★4 ★3に一つ条件を追加でE列(区分)が「0」の時の金額(K列(金額)を足した総合計)も出したいです。これは重複するものも含みます。上位10件ほどを知りたい為。 ★5 ★4のC列(顧客CD)またはD列(顧客名)の全体の注文割合(注文率)も知りたいです。 お早めに回答頂けたら幸いです。 説明不足でありましたら、補足致します。 宜しくお願い致します。

  • エクセルでフィルタ後の条件付き個数のカウント

    いつもお世話になっております。 エクセル(2007)で作成した表をフィルタ後に条件に合致する個数をカウントする方法を教えてください。 (例) A列:名前 B列:出身県のデータがあったとします。 名前でフィルタをかけた後、出身県ごとのカウントを行いたいのですが、条件が無い場合のデータ個数はSUBTOTAL関数を使えばOKなのはわかります。 COUNTIFS関数を使うと、フィルタで隠れた行のデータまでカウントしていまいます。 ピボットを使う(使い方がイマイチわかりませんが・・・)という方法もあると思いますが、今回は同一シート無いに関数でカウントしたいのです。 どなたかよろしくお願いいたします。

  • Excelで条件に合った数字の数をカウントしたいのですが・・・

    エクセルで【表1】のような表がある時、各品名別に在庫数<ゼロ のセルを、 関数を使ってカウントしたいのです。 【表1】 日付 品名 販売数 在庫数 1   A   30   52 2   A   20   22 3   A   25   2 4   A   15   -23 1   B   40   48 2   B   55   8 3   B   50   -47 4   B   45   -97 1   C   35   10 2   C   20   -25 3   C   40   -45 4   C   20   -85 但しこの時条件があり、品名ごとにカウントする期間が異なります。 別表で、【表2】のように 期間が入力された表があり、 品名Aなら 1~2日目のマイナスの在庫数を、 Bなら 1~3日目のマイナスの在庫数をカウントしたいのです。 【表2】 品名  期間 A    2 B    3 C    4 最終仕上げたいのは【表3】で、「在庫がマイナスになった期間」の列に入れる 関数を教えて頂きたいのです。 【表3】 品名  在庫<ゼロ になった期間 A     0 B     1 C     3 COUNTIF関数とOffset関数などを使ってみたのですが、 【表1】の日付が品によって 3になったり10になったりと変化するため、 引数の「基準」をどうすればいいのかが分からずに頓挫してしまいました・・・。 長々と分かりにくい説明になってしまいましたが、助けて下さい。 よろしくお願いします。

  • エクセルで日付データの比較/判定で区分条件満たすカウント

    エクセルで日付データの比較/判定でカウント A1に 2006/2/22 A2に 2006/2/23 ---------- という日付データが入っている。 またH列に H1:2006/2/24+時間  (例2006/2/24 07:18) H2:2006/2/23+時間 H3:2006/2/23+時間 H4:2006/2/22+時間 H5:2006/2/21+時間 ---------- という時刻まで含む日付データが入っている。 (処理)A1とH列のデータの日付けが同じものは1つH4だけなのでカウントし1件とその横の B列(B1)にカウント件数を表示したい。 B1に書く式は =FREQUENCY(H:H,A1+"23:59:59")-FREQUENCY(H:H,A1-"0:00:01") とすればいいのですが、(ここからが質問です) J列:カウント対象区分(m、d、n) J1:m J2:m J3:n J4:d J5:d 更にJ列にカウント対象区分が入っておりそのうち時刻日付をマッチングする対象としてH列の日付時刻データのうち、区分nの付いているものとだけを判定対象に行いカウントするためにはどう式を付けくわえればいいですか

専門家に質問してみよう