アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルにて、条件に合致する行数のカウントを行うことは出来ますでしょうか。

添付画像のようなエクセルファイルにて、各日毎に「AAA」を含む行は何行あり、「BBB」を含む行は何行あるかをカウントしたいです。

添付のエクセルであれば、A列が「10月1日」でB列に「AAA」を含む行は○行という条件でカントが出来れば実現可能とは思いますが、
こういったカウントの仕方がそもそもエクセルで出来るのかどうか知りたいです。

もし、エクセル以外の方法で可能なのであれば、その方法も教えていただけるとありがたいです。

「エクセルで、条件を指定した行数のカウント」の質問画像

A 回答 (3件)

SUMPRODUCT関数などを使った場合にはデータ数が多くなった場合には計算が重くなります。


作業列を使った方法がよいでしょう。
お示しのデータがシート1に有るとしてC列を作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(A1="","",IF(COUNTIF(B1,"AAA*"),A1&"AAA",IF(COUNTIF(B1,"BBB*"),A1&"BBB","")))

次にお望みの表を別のシートに表示させるとしたら別のpシートのB1セルにはAAAと入力しC1セルにはBBBと入力します。
A2セルから下方には例えば10月1日からの日付を入力します。
B2セルには次の式を入力してC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。

=IF($A2="","",COUNTIF(Sheet1!$C:$C,$A2&B$1))
    • good
    • 0
この回答へのお礼

想定していた作業が出来ました。
回答有難うございます。

お礼日時:2011/11/30 10:25

>A列が「10月1日」でB列に「AAA」


 ⇒一例です。
  日付は文字列ではなく日付書式とします。
 =SUMPRODUCT((A1:A10="10/1"*1)*ISNUMBER(FIND("AAA",B1:B10)))

因みにエクセルグレードが2007以上ならCOUNTIFS関数が利用できますのでご質問の
際には、エクセルのグレードを記載して下さい。
    • good
    • 0

C1に「日付」D1に「AAA」E1に「BBB」と,まず1行目はタイトル行にします。



C2に
10/1
を記入して下向けにオートフィルドラッグし,日付を一覧します
D2には例えば
=SUMPRODUCT(($A$1:$A$10=$C2)*(LEFT($B$1:$B$10,LEN(D$1))=D$1))
のように式を入れ,右に下にコピーして貼り付けます。


#言わずもがなですが,A列やC列は「年/月/日」で日付のデータとして記入してあって表示で10月1日になっている前提です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!