• ベストアンサー

エクセル 関数 3列の文字を含む重複を除くカウント

次の場合における関数を用いたカウントの方法を教えてください。 例:  A B C ---------------- 01 月 日 △ 02 月 曜 ○ 03 週 分 × 04 年 月 × 05 年 時 ○ 06 週 分 ○ 07 月 曜 △ 08 週 分 × 09 週 分 △ 10 月 日 △ 11 月 曜 × ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・(以下n行) "Sheet1"において、"A"、"B"、"C"の列がマクロによって無限に生成されます。 そのうち、"01"の行と等しい数を"Sheet2"においてカウントしたいです。 例の場合、"01"に等しいのは"10"ですので、カウントは2件になります。 なお、 "A"の列には、"月"、"週"、"年"、 "B"の列には、"月"、"曜"、"日"、"時"、"分"、 "C"の列には、"○"、"△"、"×"、 の組み合わせになっています。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

説明は実例つきで分かりやすいです。 しかしなぜこんなに長く説明が要るのでしょう。 「A,B,C列に亘って第1行と等しい行の数をカウントする関数」ですむのでは。 (例)データSheet1のA1:C12に 月 日 △ 月 曜 ○ 週 分 × 年 月 × 年 時 ○ 週 分 ○ 月 曜 △ 週 分 × 週 分 △ 月 日 △ 月 曜 × 月 日 △ (関数式)配列数式の例 Sheet2のA1(例)に =SUM(IF((Sheet1!A1:A1000=Sheet1!$A$1)*(Sheet1!B1:B1000=Sheet1!$B$1)*(Sheet1!C1:C1000=Sheet1!$C$1),1,0)) と入れて、SHIFT+CTRL+ENTERキーを押す。先頭と後尾に{}がつく。 (結果)3

その他の回答 (1)

  • jindon
  • ベストアンサー率43% (50/116)
回答No.1

=SUMPRODUCT((SHEET1!A1:A1000=SHEET1!A1)*(SHEET1!B1:B1000=SHEET1!B1)*(SHEET1!C1:C1000=SHEET1!C1)) では?

関連するQ&A

  • エクセルでの行数カウント

    エクセルで A列 B列 1行 ●1 C ⇒カウント 2行 X1 D  3行 ●2 E 4行 X2 F 5行 ●3 C ⇒カウント 6行 ●4 D 7行 X3 E A列で「●」を含み、なおかつB列で「C」である行の数(例でいうと「2」)を求める 数式を教えてください。 ちなみに A列 B列 1行 ● C ⇒カウント 2行 X1 D  3行 ● E 4行 X2 F 5行 ● C ⇒カウント 6行 ● D 7行 X3 E であればA列が全く「●」に等しいものでカウントする場合は、下記の関数で計算できます。 {=SUM(IF(B1:B7="C",IF(A1:A7="●",1,0)))} COUNTIF関数では、"●*"のように「任意の文字」を指定することが可能ですが、IF関数の 中ではできないようです。

  • エクセルで最新データのみを抽出したいのですが・・・

    タイトルにあるとおり、エクセルで最新データのみを抽出するような関数があればと思い質問させていただきます。 シート1     A列   B列   C列   D列 ・・・ 1行目      佐藤   田中   伊藤  2行目 1日目   ○      3行目 2日目   △   ■    ☆ 4行目 3日目       ○ ・ ・ ・ ・ 18行目 18日目   ■ 19行目 19日目   ○   △   ○  20行目 20日目   ◎   ☆ と、いうようなシートがあったとします。 シート1ではこのように、毎日新しいデータ(記号) が入力されていくとします。 シート2      A列  B列  C列  D列  E列・・・ 1行目  ◎   ○   ■   ☆   △    2行目  1    2    1    1    1 と、いうようなシートがあったとします。 シート2ではシート1で入力されたデータをカウントしていくとします。 この場合、シート1での1行目の各氏名は関係なく、ただ記号のみをカウントしていくものとします。 ただ、カウントするだけの場合でしたらCOUNTIFでいけると思います。 タイトルにあるとおり、最新データからのみカウントしたいと思っているのです。 上のシート2では例として、18~20日分のカウントをしておりますが、実際には10日分程度をカウントしたいと思っております。 ですので、このシートを例にすると20日が最新とした場合 11~20日分の記号をカウントし、そして21日に新たなデータが入力された場合、12~21日分の記号を新たにカウントしたいわけです。 このようなケースにおける関数をご存知の方どなたかご助力いただけますと幸いです^^;

  • エクセルである文字列をカウントしたい

    例えば、シート1のA列のセルごとに下記のいずれかの文字列が入っているとします。(文字列の1部ではなく、完全一致の文字列です。) おはよう こんにちは こんばんは そこで、シート2で上記の各文字列が記入されているセルがいくつあるか集計したいのですが、どうしたらよいでしょうか。 シート2は、A列に上記3つの文字列、B列にはそれぞれのカウント数を入れようと思っています。

  • Excelの関数について

    Excelの関数の書き方について教えて下さい。 A列には日付、B列には時間、C列にはマークが入力されており その日にどのマークがいくつあるのかを数えます。 マークは2種類で、★と□です。 マークが★の場合は、時間が9:00~20:59まで マークが□の場合は、時間が21:00~20:59までを その日の数として数えます。 下に例を書いてみたのですが、4行目の□は 21:00を超えていますので、4/2分としてカウントしたいのですが この書き方が分かりません。       A      B       C 1     4/1     9:00      ★ 2     4/1     10:00     ★ 3     4/1     12:30     □ 4     4/1     21:05     □ 5     4/2     6:00      □ 6     4/2     11:00     ★ 結果 4/1  ★2     □1 4/2  ★1     □2

  • 文字列カウントと並び替え

    初めての質問です。PC初心者です。宜しくお願い致します。 エクセルの関数で、 A列の文字列をカウントして小さい順にB・C列に表示したいです。 A列 :B列 :C列 200 :100 :2件 100 :200 :1件 100 :500 :1件 500 : こんな感じです。 色々調べてB列に並べかえましたが、カウントできず。。。 カウントできたら、並べ替えできず。。。 知識不足で申し訳ありませんが、お力添え下さい。

  • エクセル 重複のカウント 一部一致

    エクセルで下記にようになっています。 文字列の1部を一致させて、重複数のカウントと、 文字列の1部を一致させて、足した合計を出したいのですが・・。 どのように関数を書いたらよいのでしょうか・・。 A列に日付と、時間など、B列に、金額が入っています。 A列(日付・時間) B列(金額) 1月1日●●● | 2000 1月1日★★★ | 1500 1月2日●●● | 3000 1月3日●●● | 1000 1月3日■■■ | 2000 1月3日★★★ | 2000 下記の合計を出したいのです。 C列に、1日ごとの、合計件数 D列に、合計の金額 C行(1日の件数)  D行(1日の金額) 1月1日 ●件  |合計 ●円 1月2日 ●件  |合計 ●円 1月3日 ●件  |合計 ●円

  • Excelのカウント関数について

    Excelのカウント方法が分からなくて困っています。 どなたか教えて頂けると、大変助かります。 (Excel2003を使用しています) 下記の様な表があるとします。     A     B 1  3/1   Aさん 2  3/2   Bさん 3  3/3   Aさん 4  3/4   Cさん 5  4/1   Dさん 6  4/2   Bさん B列にはその日の来訪者の氏名が記入されていますが、 3月、4月単月毎に1日以上・2日以上・3日以上・4日以上来たそれぞれの人数を 重複する事無く、カウントする関数が知りたいのですが。 それと3月~4月の期間内に1日以上・2日以上・3日以上・4日以上来たそれぞれの人数を 重複する事無く、カウントする関数が知りたいのですが。 すみませんが、どなたか教えて下さいませ。

  • エクセル関数 カウントの関数を教えてください(2度目)

    カウントの仕方、以前教えていただいたもので、またどうしてもわからなくなりましたので教えてください。 A列は「氏名」B列は「出身県」C列は「生年月日」のデータがあって、 東京都出身の20代・30代・40代はそれぞれ何人かカウントしたいときの計算式を教えてください。(2008年3月1日時点において)

  • エクセル  日にちのカウント

    エクセル2007年です。宜しくお願いします。 A行にB行にそれぞれ日にちの記載があります。 A             B       C(2012/8/1-2012/8/30日分  日数) 2011/7/2     2 012/7/20                   0  2012/7/29     2012/8/31                  31 2012/8/18    2012/8/29                   11   このうちの  例えば2012/8/1-2012/8/30日分は何日含まれているか カウントすることはできますか?  C 行を自動計算で算出できる方法があれば教えてください。 宜しくお願いします。

  • エクセルで重複を除いた日付のカウント(条件付き)

    過去の記録にもなく、困っています。 エクセルで(A列の)日付をカウントしたいのですが、重複して困っています。 「C1」に任意の日付(○月○日)を入れると、「D1」に○月○日以下の日付がカウントされるようにしたいのです。      A     B    C     D 1  4月5日         2  4月6日 3  4月6日 4  4月6日 5  4月7日 6  4月7日 7  4月8日 D1に =COUNTIF(A:A,"<="&C1) といれてみると、重複してカウントされてしまうのですが、重複を除いてカウントがしたいのです。 ちなみに(C1)に「4月7日」を入れると、(D1)に「3」になるようにしたいのに、重複して「6」となってしまいます。 おいそがしいと思いますが、どうかご教授をお願いいたします。

専門家に質問してみよう