• ベストアンサー

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関数の部分がゼロになってしまい、いつも総データ数が答えになってしまいます。  どこが間違っているのでしょう? よろしくお願いいたします。

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

  • ベストアンサー
回答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/17069)
回答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/17069)
回答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

専門家に質問してみよう