• ベストアンサー

excelのcountif関数の使い方

EXCEL2000について教えてください。 過去ログにCOUNTIF関数の話題はたくさんありましたので、参考にしてみたのですがうまくできません。何が悪いのでしょう? やりたいことは、A列にある日付データから、B列の日付の度数をC列に計算したいのです。      A列        B列     C列 [1] 2002/10/1 10:31  2002/10/1  度数 [2] 2002/10/1 12:05  2002/10/2  度数 [3] 2002/10/1 13:35  2002/10/3  度数 [4] 2002/10/2 15:51  2002/10/4  度数 [5] 2002/10/2 19:02  2002/10/5  度数 A列は5000~10000行になり、その行数は不定です。 B列は1ヶ月分で、手入力の日付データですので時分秒は00:00:00です。 ここでC1以下に入れる式で悩んでいます。 (A列のデータ数)-(B2以上のデータ数)-(B1未満のデータ数) ということで =COUNT(A:A)-COUNTIF(A:A,">B2")-COUNTIF(K:K,"<B1") この式を検証してみると、中央と右のCOUNTIF関数の部分がゼロになってしまい、いつも総データ数が答えになってしまいます。  どこが間違っているのでしょう? よろしくお願いいたします。

  • beko
  • お礼率83% (10/12)

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

  • ベストアンサー
回答No.2

>やりたいことは、A列にある日付データから、B列の日付の度数をC列に計算したいのです。 と >=COUNT(A:A)-COUNTIF(A:A,">B2")-COUNTIF(K:K,"<B1") が結びつかないのですが、 上記式の不具合について、 ダブルコーテーションでくくってある部分は文字列とみなされるので、"B1"という文字列より大なり、小なりをきいていることになります。 B2にある値という意味であれば、 COUNTIF(A:A,">"&B2)-COUNTIF(K:K,"<"&B1) でいけると思います。

beko
質問者

お礼

過去ログに、この&の使い方があったのですが「何で文字を結合するのかな?」と良くわからずに苦しんでいました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=268989 なるほど。そういう意味だったのですか。EXCELのヘルプファイルには、検索条件にセルを指定した例がなかったものですから、そのまま "" の中にセルを書いてしまいました。教わった方法でうまくできそうです。

その他の回答 (2)

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

COUNTIF関数で色々テストしました。ご参考までに。 (1)リテラル値指定の場合(例2002/10/1) (2)セルを指定の場合(例F3)についてどうなるか。 A1:A10に 日付 2002/9/11 2002/9/13 2002/9/11 2002/10/12 2002/10/1 2002/9/11 2002/9/13 2002/8/22 2002/10/15 とテストデータを入れます。 F2:F4に 2002/10/1 2002/8/31 2002/9/11 =Count(a:a)--->9 (1)の例 =CountIf(a1:a10,">2002/9/11")---->5(""で囲むべき) =CountIf(a1:a10,"=2002/9/11")---->3(""で囲むべき) (2)の例 =CountIf(a1:a10,"=F4")---->0(正しくない) =CountIf(a1:a10,F4)---->3(""で囲むべきでない. =不要) =CountIf(a1:a10,">" &F4)---->5(演算子のみは""で囲                 み、&で結合すべき) 本件は#2のご回答の通り、最後の例でとける。 ●(A)質問者の既定路線の回答のCountifのほかに (B)操作でデータ-集計を使う方法や (C)関数でDcount()を使ってでも解けそうに思う。

beko
質問者

お礼

””で囲むと、ふつう(何がふつう?)は文字列だと思ってしまうのですが、ヘルプに囲めって書いてあるから囲んじゃったという失敗です。 検証していただいて、大変に助かりました。やっと「こういう事か」と納得できました。 ありがとうございました。

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

・済みません。題意が掴めません。 (質問者が既定路線で考えている方法より、良い方法の回答がでるかもしれませんので。) ・C列に出す「度数」は「言葉で表現すれば」どのように なるのでしょうか。 ・A列の日付別の件数をC列に出すと言うことですか。 ・B列はその見出しですか。 ・A列は時刻つき、B列は時刻なしは、不揃いですが止む終えないのですか。 ・K:KのK列は突然出ていますがどう言う列なんですか。

beko
質問者

補足

すみません。 あらためて自分の質問を見ると、そうですね、良くわからない質問ですね。 >・C列に出す「度数」は「言葉で表現すれば」どのように >なるのでしょうか。 >・A列の日付別の件数をC列に出すと言うことですか。  そのとおりです。「日付別」です。 >・B列はその見出しですか。  はい。A列のデータの中からB列の日付に該当するデータ個数をC列に、ということです。 >・A列は時刻つき、B列は時刻なしは、不揃いですが止む終えないのですか。  どうでも良いです。セル書式だけの問題だと思っていましたので、A列を日付のみに表示させても、あるいはB列を2002.10.1 00:00のように表示させても構いません。 ・K:KのK列は突然出ていますがどう言う列なんですか。 (アセあせ汗; なんでK列が出て来ちゃうんでしょ。すみません。) =COUNT(A:A)-COUNTIF(A:A,">B2")-COUNTIF(A:A,"<B1") の間違いです。

関連するQ&A

  • COUNTIF関数(Excel2013)

    A列にデータ、B列に金額を入力してます。 A列のデータをCOUNTIF関数を使って件数を数えた後、A列でカウントしたB列の金額を集計する場合、どの様な式を使えばいいのでしょうか? 従来は、COUNT関数を使っていましたがデータ数が増えてCOUNT関数で、都度、セルを指定するのが大変になってきました。 詳しい方、ご教示お願いします。

  • エクセルのcountif関数について

    二つの列にそれぞれ数値が入っている場合に、クロスしたデータの個数をカウントしたいのですが、どのような式を使えばよいかお教え下さい。 例えばA1~A10に20,30,20、・・・と規則的に入力されていて、B1~B10に1、2、3、1、2、3、・・・とこちらも規則的に入力されている場合で、A列が20でB列が3の場合、クロスした値は2個となるのですが、それをCOUNTIF関数で計算させたいのですが、...何か良い方法はありませんでしょうか。

  • ExcelのCOUNTIF関数での<1>等の意味

    こんにちは。 COUNTIF関数で質問があります。 以下のようなデータがあります。 A列にデータ、B列にCOUNTIF関数が入っていてその結果を返しているとします。 (いずれも1行目~6行目までにデータが入っています) (A列)          (B列) <1>りんご        2(=COUNTIF($A$1:$A$6,A1)) <2>みかん        2(=COUNTIF($A$1:$A$6,A2)) パイナップル      1(=COUNTIF($A$1:$A$6,A3)) 桃             1(=COUNTIF($A$1:$A$6,A4)) りんご          1(=COUNTIF($A$1:$A$6,A5)) アボカド         1(=COUNTIF($A$1:$A$6,A6)) 疑問なのは、厳密に言うと上の条件だとB列は全部1になるのではないかと思ったのに、なぜ1・2行目は2を返してくるのでしょうか、ということです。 <1>や<2>が頭についたものでそのようになっているので、これは何か意味があると思いました。 どのような意味を持つのでしょうか。 また、<1とか<をつけても自分が思っていたような結果が返ってこないので、そもそも上のような例で<がつくとどういうことになるのでしょうか。 大変お手数ですが、よろしくお願いいたします。

  • エクセル 重複データの検索(COUNTIF関数!?)

    A列とB列で、重複しているデータ(数字)を検索するための関数を教えて下さい。 確か、こんなような↓関数だったと思うのですが、ちょっと違うようです。 C2=IF(COUNTIF(A2,B1:B2377),"","×")

  • COUNTIF

    A列に「a」「b」の文字と、空白のセルがあります。「a」の数を数えたいのでcountif関数で求めました。  =COUNTIF(A2:A26,"A") B列、C列と同じように「a」「b」の文字と、空白のセルがありますが、D列はすべて空白です。 空白のときは「0」ではなく、何も表示されない状態にしたいのですが、IFをうまく組み合わせた式を教えてください。 よろしくお願いします。

  • エクセルのCOUNTIF関数について

    エクセルのCOUNTIF関数について、というかCOUNTIF関数でよいのかどうかもよく分からないのですが、教えて下さい。 (1)まず、ワークシートのA列の1~100行目までの100マスを範囲として、数値を入力していくときに、仮に同じ数値を入力しようとしても、入力ができないようにしたいのです。 (2)次に、ワークシートのA列とC列のそれぞれ1~100行目までの合計200マスを範囲として、(1)と同じことをしたいのです。(つまりB列はとばして) (1)と(2)のようなことは可能でしょうか? お分かりの方がおられましたら、ぜひよろしくお願いします!

  • エクセルのcountif関数で

    WindowsXPでEXCEL2003を使っています。 A列に固有名詞が入っており、 A列の中でのダブりチェックをcountif関数を使って、 実行しました。式は =countif($A$1:A7,A1) というような感じです。 ところが、見た目は全く変わらないのに、 (下記の図でいうと、「りんご」) 返ってきた数字は1でした。 ただし、「なし」のように2が返ってくるものもあります。 A列      B列 1 りんご     1 2 りんご     1 3 みかん     1 4 いちご     1 5 もも      1  6 なし      2 7 なし      2 (ずれて見苦しいかもしれませんがお許しを) 不思議に思い、一度エクセルからcsvに変換し、 またエクセルファイルになおして、 チェックしてみましたが、結果は同じ。 if関数を使ってみたらどうなるだろうかと チェックしてみたら今度は A1とA2の「りんご」は同じものである という 結果が返ってきました。 countif関数では別物と判断し、if関数では同じもの と判断する・・・ というのは、一体どういうことなのでしょうか? countif関数をなにか勘違いしているのかもしれませんが、よろしくお願いいたします。

  • エクセルの関数(COUNTIF?)

    エクセルに下の表があった場合なんですが、 ____A_B_C (1) 1 2 3 (2) 3 1 5 (3) 1 3 4 (4) 2 3 1 (5) 1 3 4 =2 (1行目、4行目が該当する) と各セルに入っていた場合に、 行ごとに"1"と"2"が両方はいっている数を 求めたいのですが、どうやってかけばよいでしょうか? COUNTIF関数を使うような気がしますが、 式の書き方がわかりません 又、同じ行には絶対に同じ数字は入りません よろしくお願い致します。

  • COUNTIF関数

    COUNTIF関数の 質問します。 A1:A20 に 数値入ってるとします。 10以上の セル数を 求める 式は =COUNTIF(A1:A20,">10") ですよね? 質問なのですが 例えば、10以上20以下 の セル数を 求める時の 式は どういう 式に なるのでしょうか? COUNTIFでは できないのでしょうか? もし できないなら 他の 関数 教えてください。 よろしく お願い いたします。 エクセルは 2002です。

  • COUNTIF関数について

    タイトルの件についてご助言をお願いします。 Excel2003+WinXPを使用しています。 A列1に東京・2に東京・3に埼玉・4に千葉と地名が入り B列1にピンク・2に(1)・3に(6)・4に(5)と文字と数字が入ります C列1に=A1&B1 式を入力2以下この式をコピー D列1にCOUNTIF(C:C,A1&"*ピンク*") 式を入力2以下この式をコピー するとB列にピンクと入力されている東京だけではなく、ピンクの記載のない東京すべて1にかえります。 前任者が使用していた関数で、なぜピンクを基準にピンクの記載のない他の東京まで1にかえるのかが、調べた限りでは納得できる答えが見つかりませんでした。他の作業にも使えそうな関数だけに疑問を解決したく質問させていただきました。お手数ですがお教えください。

専門家に質問してみよう