• ベストアンサー
  • すぐに回答を!

エクセルのCOUNTIF式について教えてください

こんばんは。 A1 10月21日 A2 10月30日 A3 11月3日 A4 11月12日 A5 10月1日 A6 3 上記のような列で、先頭2文字が「10月」となっているセルの数を数える式をA6に入れることで、 答えの「3」と表示させたいのですが、うまくできません。 =COUNTIF(A1:A5,LEFT(A1:A5,3)="10月") としています。 お手数ですが、エラーの原因と解答をお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数8
  • 閲覧数526
  • ありがとう数1

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

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

COUNTIF関数の検索値の部分が正しくない(提示されている数式はTRUEまたはFALSEを返しています)ためです。 また、検索データが「10月初旬」のような文字列ならワイルドカードを使ったCOUNTIF関数が利用できますが、日付の場合は、実際は1900年1月1日を1とするシリアル値という数字で入力されているのでLEFT関数での左3文字は3桁の数字を取得することになります。 このようなケースでは、COUNTIF関数ならNo1の回答のような日付範囲の引き算を使用するのが一般的ですが、MONTH関数でシリアル値から月を取得する数式を利用して、以下のようなSUMPRODUCT関数で計算することもできます。 =SUMPRODUCT((MONTH(A1:A5)=10)*1) =SUMPRODUCT((TEXT(A1:A5,"m")="10")*1)

共感・感謝の気持ちを伝えよう!

関連するQ&A

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

    こんにちは。 COUNTIF関数で質問があります。 以下のようなデータがあります。 A列にデータ、B列にCOUNTIF関数が入っていてその結果を返しているとします。 (いずれも1行目&#65374;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 で","(カンマ)の数が取得できな

    お世話になります。 VBAで質問させてください。 A1&#65374;A3にデータが入っております。 A1:aaa A2:bbb,ccc A3:ddd そこで、 合計数=CountIf("A1:A3",",") を実行しても0と出るのです。 処理がおかしいのかなと思ったのですが、 合計数=CountIf("A1:A3","aaa") を実行すると1の値が入ります。 底辺お手数ですが、カンマの数が取得できるVBAを教えて頂きたく 思います。

  • ExcelのSUMIFやCOUNTF関数で複数の範囲を指定した

    Excelで、数値のうち0を除く平均値を出したいと思います。 たとえば、数値がA1~A10に入力されている場合、0を除く平均値は、 =SUMIF(A1:A10,">0",A1:A10)/COUNTIF(A1:A10,">0") で出しました。 しかし、この数値のうち、さらにA4~A6に入力されている数値を除く平均を出そうと思ったのですが、うまくできません。 =SUMIF(A1:A3,A7:A10,">0",A1:A3,A7:A10)/COUNTIF(A1:A3,A7:A10,">0") といった式を入力しても、エラーになってしまいます。 どのような式を使えば、このような平均は出せるのでしょうか。 よろしくお願いします。

その他の回答 (7)

  • 回答No.8
  • KURUMITO
  • ベストアンサー率42% (1835/4283)

=COUNTIF(A1:A5,LEFT(A1:A5,3)="10月")の式についてですが、範囲の後には条件を入力するのですが、その条件は数値、文字列、式を入力できますが論理式ではなく、">0"のように文字列で指定することになります。LEFT(A1:A5,3)="10月"のような式を入力することはできません。 もう一つの問題はセルの表示では10月1日のようになって表示されていますが実際にはシリアル値が入力されているので、例えば今年の10月1日はセルの表示形式を「標準」にすることで40817となります。10月というセルの表示が幾つあるかを検索するのに"10月"としても意味がありません。 10月の日付のセルの数を数える式でしたらA6セルに次の式を入力するのがよいでしょう。 =COUNTIF(A1:A5,">=10/1")-COUNTIF(A1:A5,">=11/1") または =COUNTIF(A1:A5,">=2011/10/1")-COUNTIF(A1:A5,">=2011/11/1")

共感・感謝の気持ちを伝えよう!

  • 回答No.6
noname#146604

こんばんは エクセル勉強3日目の者です。 配列、分岐の練習がてらに利用させてもらいました。(すみません) =TEXT(SUM(IF(LEFT(TEXT(A1:A5,"m月"),2)*1=10,LEFT(TEXT(A1:A5,"m月"),1)*1,"")),"d") countifは配列が利用できなかったので、sumで代用させて頂きました。(悪しからず) a6セルに上記の式を代入して、【ctrl+shift+enter】で入力して下さい。 (【】内の操作重要!。普通に入力すると#valueになります)

共感・感謝の気持ちを伝えよう!

  • 回答No.5
noname#152318

ANo.2 と ANo.3 の回答者です。 エラーの原因:  ◇B列のセルが日付になっている(シリアル値?)場合、 LEFT関数では、拾えないのでは?  ◇先頭2文字が「10月」 → 3文字ですね 1 と 0 と 月で。  ◇1月から9月までは2文字でもよいのです。  だから、セル全体を日付と考えてそのセルの「月」の数字でB列に表してその10だけを数えます。  IF関数でスピンボタンでD1に1~12までの数をシームレスに表示します。  次にB列とD1を比べて同じなら「1」とIF関数で C 列に表示させます。    フォームのスピンボタンで1~12をD1に表示させると、  c列に1(○印でも)を表示させて、それを数えるのもよいと思います。    1月から12月まで別々に列を作れば、すべてが数えられます。    

共感・感謝の気持ちを伝えよう!

  • 回答No.4
noname#158634

「ワイルドカード」というものを覚えましょう。 =COUNTIF(A1:A5,"10月*")  というかどうでもいいけど、「3文字」ですよね?

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご回答ありがとうございます。一番シンプルな方法をご紹介いただきありがたかったのですが、実際に試してみても計算結果は0のままでした。エクセルのバージョンは2003です。*は全角でも半角でも同じでした。何が原因でしょうか。

  • 回答No.3
noname#152318

画像添付ができていませんでした。  (..)

共感・感謝の気持ちを伝えよう!

  • 回答No.2
noname#152318

素人ですので、ベテランが出られる前に (=^・^=) B1に下式をコピーして さらに~B5にコピーします。  ※順位を間違えないでください。 =IF(ISNUMBER(A1),TEXT(A1,"m")+0,"") 次にB1からB5で10と表示されたセル数を数えます。    =COUNTIF(B1:B5,10) 式を一つにまとめられれば、より簡単です。

共感・感謝の気持ちを伝えよう!

  • 回答No.1

COUNTIFの条件式はIFなどの条件式と書き方が違います。 詳しくはヘルプを見てください。 また、日付は内部的には数値として保存されているので、数値と同様の大小比較が行えます。 Excel2007以降の場合 =COUNTIFS(A1:A5,">=10月1日",A1:A5,"<11月1日") 10月1日以上 かつ 11月1日未満 をカウントします バージョンを問わず =COUNTIF(A1:A5,">=10/1")-COUNTIF(A1:A5,">=11/1") 10月1日以上の数 - 11月1日以上の数 を計算します 日付の書き方は、どちらの書き方でも変わりません。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • 2007EXCEL COUNTIF 複合

    countifを使用し、     A 1 ●●数×× 2 ●●語××     B 1 =if(countif(A1,"*数*"),"数学",if(countif(A2,"*語*"),"語学",)) という式で"数"が含まれていれば数学、"語"が含まれていれば語学、とB列に表示させるようにしています。 そこで、 A3に●●数××語とある際、"数学""語学"両方表示させるには どうしたら良いでしょう? countifではできないのでしょうか??

  • エクセルcountif である数字を含むセルを数える

    エクセルの基本的な質問で失礼します。 現在、以下のようなエクセルを作っています。 ちょっと分かりにくくて恐縮ですが… 元データであるシート「2」のA列にカンマ区切りで入力されている複数の数字を、 シート「1」で1つの数字ごとに横列に並べて、該当しているものには○を出すとしたいのです。 ただ、シート「1」のA1で 『=IF(COUNTIF('2'!A1,1)=1,"○","")』とすると、 セルが「1」のみの時しか○が表示されず、「1を含む場合」は○が出ません。 『=IF(COUNTIF('2'!A1,"*1*")=1,"○","")』ともしたのですが、 そうすると「1」のみの時にも○が表示されなくなってしまいました。 この場合、どういう式にするのが適切でしょうか? 恐れ入りますが、ご教示のほどよろしくお願い申し上げます。 ------------------------------------- シート「1」 ------------------------------------- A1「シート2のA1で1を含んでいる場合には○」  B1「シート2のA1で2を含んでいる場合には○」   C1「シート2のA1で3を含んでいる場合には○」 以下同様… ------------------------------------- シート「2」 ------------------------------------- A1「1,2,3,4」 A2「3,5」 A3「2」

  • Count(Countif)の使い方について

    はじめまして。 COUNT(COUNTIF)の使い方について質問させてください。 条件として、A1:A100には数値・文字などさまざまなものが入力されています。また、空白のセルもあります。 その中で、先頭の1文字がアルファベットになっているセルの個数をカウントしたいです。 大文字・小文字どちらもカウントした合計数を求めるにはどのような式にすればいいでしょうか? また、出来る限りCOUNT/COUNTIF/COUNTAの3つのみを使って式を作成できればと思います。 よろしくお願いいたします。

  • Excelの関数、マイナスになった場合だけ計算するには?

    Excelの関数を教えて下さい。 下記のような表があったとして、 (日によってすべての数字が変動していきます) A1   100 A2   200 A3   300 A4   400 A5  A6 合計 A6に、A1+A2+A3の合計を入れたいんですが、 A4がマイナスになった場合だけは、A1+A2+A3+A4の合計を入れたいんです。 どのような式になるか?教えて下さい。

  • Excel 数式の相対参照について

    相対参照を使い、ドラッグによる数式のコピーを 試みたいのですが、例えば・・・ C1にA1を表示させる=A1という式を入れます。 次にC2にA3を表示させる=A3という式を入れます。 次にC3にA6を表示させる=A6という式を入れます。 このような3の倍数での条件(a1,a3,a6,a9・・・) で数式のコピーを試みた場合、この条件でコピーできません。 同様なケースで・・・ C2にA1を表示させる=A1という式を入れます。 次にC3にB1を表示させる=B1という式を入れます。 次にC4にC1を表示させる=C1という式を入れます。 このようなアルファベット順での条件(A1,B1,C1・・・) で数式のコピーも同様で、できません。 他に、このような条件を満たす方法はありませんか?

  • エクセルのユーザー定義でkgsとpcsを設定した時

    例)A1: 100pcs A2: 200pcs A3: 10kgs A4: 20kgs ------------ A5: 300pcs A6: 30kgs という結果を得たいのです。 A5=SUM(A1:A2) A6=SUM(A3:A4) というような式ではなく ”A1からA4の範囲で値にPCSがついているもの を合計する” というような式をA5に入れて計算させたいのです。 どんな関数を使ったら、またどういう 工夫をすれば、上記の様な計算結果を 得られるのかがどうしても解りません。 お忙しいところ恐縮ですが、どなたか ご存知の方がいっらっしゃいましたら 教えてくださいM(__)M

  • 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にかえるのかが、調べた限りでは納得できる答えが見つかりませんでした。他の作業にも使えそうな関数だけに疑問を解決したく質問させていただきました。お手数ですがお教えください。

  • エクセルのエラー

    どうかどなたか教えて下さい。「#VALUE!という表示が出ました。」それ自体は珍しくないかも知れませんが、ただ単に数値の入ったセルの合計を出そうとしただけです。セルに数値とそれに関わる式以外は入っていません。具体的には、ただあるセル(例えばC5)に入っているのは「=A1+A5:A8+A12」の様な単純な式でA1は「A2+A3」という式が入っていて、それぞれに数値が入っています。これで上記のエラーが出たのです。式を「A1+A5+A6+A7+A8+A12」というという形にした所合計で出ました。何が原因でしょうか。

  • エクセル2007

    シートA、B、Cを使用しています。 シートCセルa1に、=if(B!a1="","",B!a1-A!a1)と入力しました。 シートCセルa2,a3,a4,a5,a6にも同様の式{a2には、=if(B!a2="","",B!a2-A!a2)}を入力しました。 シートCセルa7に(a1+a2+a3+a4+a5+a6)の式を入力しました。 シートBセルa3,a4,a5,a6に数値が入っていないので、シートCセルa3,a4,a5,a6とa7がエラー表示されています。 【質問】 ・シートCセルa3,a4,a5,a6をエラー表示ではなく空欄にして、a7にはa1とa2の合計を表示したい場合はどうすればよいでしょうか?

  • エクセル セルの色を数えたい

    いつもお世話になっております。 すみません、列にセルに色(黄色)がついています。 文字が入って、セルに色のがついています。 a1 a2 黄色 a3 a4 黄色 a6 式、黄色が2と表示する式を教えて下さい。