『忠犬もちしば』のAIを育てるとグッズが貰える!>>

エクセル COUNTIF関数で
検索条件の項目を
一つの数値や文字列でなく、
シリアル値で入力されている5月というふうに指定したいのですが、
どのように入力したらいいのでしょうか。

仮に
=COUNTIF(A1:A10,検索条件)
として、A1からA10にはシリアル値で日付が入力されているとして
5月1日から5月31日を調べたいとき
検索条件にどのように入力したらよいでしょうか。

宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

B列を作業列に使います。



(1)B1に「=MONTH(A1)」と入力し、A10までコピー
(2)C1に「=COUNTIF(B1:B10,5)」と入力

これで5月の数がC1に出ます。
    • good
    • 4
この回答へのお礼

kozirou54さま
ご回答ありがとうございます。
おかげさまで解決いたしました。
どうもありがとうございました。

お礼日時:2009/06/05 17:17

No3 merlionXXです。


先ほど
=SUMPRODUCT((MONTH(A1:A10)=5)*1)
 と回答しましたが、検索する対象の日付の年次にかかわらずたとえ何年のでも5月はカウントされてしまいます。
もし、年も指定するのでしたら、たとえば2009年なら
=SUMPRODUCT((YEAR(A1:A10)=2009)*(MONTH(A1:A10)=5))
 で出来ます。
    • good
    • 7
この回答へのお礼

merlionXXさん
ご回答ありがとうございます。
この関数は知りませんでした。
便利ですね。
大変参考になりました。
有難うございました。

お礼日時:2009/06/05 20:33

COUNTIF関数でなくともよければ


=SUMPRODUCT((MONTH(A1:A10)=5)*1)
    • good
    • 9

以下の式でいけます。



=COUNTIF(A1:A10, ">=2009/5/1") - COUNTIF(A1:A10, ">=2009/6/1")

5月1日以上の個数から、6月1日以上の個数を引くことで、
5月1日から5月31日のデータの個数が取得できます。
    • good
    • 7
この回答へのお礼

darterさん
ご回答ありがとうございます。
こういう使い方もあるんですね。
目から鱗です。
ありがとうございました。

お礼日時:2009/06/05 20:31

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで年、月をカウントする

皆さんこんにちは。
エクセルに関して2つの質問があります。

【1】
   A    B
1  山田  2003/10/5
2  佐藤  2003/11/6
3  鈴木  2005/7/22
4  岡田  2006/2/9
5  松本  2006/4/4   

とあるとき
2003年のセルはいくつあるか? ~
2006年のセルはいくつあるか?
という年別での個数を C1 に出したいのです。
日付の表示はyyyy/mm/ddでお願いします。

また
2003年1月のセルはいくつあるか? ~
2003年2月のセルはいくつあるか?
など月別も D1 に出したいです。

C1、D1にどんな数式を入れればカウントできるでしょうか?

【2】
上記の場合、B列に並ぶyyyy/mm/ddの中から『オートフィルタ』を使い
2003年をすべて 2003年1月をすべて
を出すとき、「オプションの抽出条件の指定」は
何を指定すればよいのでしょうか?

解法をご教示ください。マクロは分かりません。
どうぞよろしくお願い致します。

皆さんこんにちは。
エクセルに関して2つの質問があります。

【1】
   A    B
1  山田  2003/10/5
2  佐藤  2003/11/6
3  鈴木  2005/7/22
4  岡田  2006/2/9
5  松本  2006/4/4   

とあるとき
2003年のセルはいくつあるか? ~
2006年のセルはいくつあるか?
という年別での個数を C1 に出したいのです。
日付の表示はyyyy/mm/ddでお願いします。

また
2003年1月のセルはいくつあるか? ~
2003年2月のセルはいくつあるか?
など月別も D1 に出したいです。
...続きを読む

Aベストアンサー

【1】2006年の個数をカウント
=SUMPRODUCT((TEXT(A1:A100,"YYYY")="2006")*1)
または
=SUMPRODUCT((YEAR(A1:A100)=2006)*1)

2006年2月の個数をカウント
=SUMPRODUCT((TEXT(A1:A100,"YYYY/MM")="2006/02")*1)
=SUMPRODUCT((YEAR(A1:A100)=2006)*(MONTH(A1:A100)=2)*1)

Q<EXCEL>月別にデータ数をカウントする方法。

以下の表があるとします。

A列   B列
2006/6/1     123 
2006/5/1     345
2006/6/13     234    
2006/7/24   523
2006/9/12   912
2006/4/3   145
2006/5/5   872

この表から、月毎に、データが何件入力されているかを関数でカウントしたいと思っています。データの内容はランダムで、特に番号などは決まっていません。
C列に4月は何件、5月は何件というように表示したいのですが、日は関係なく月ごとにカウントするにはどのようにすればよいでしょうか。

Aベストアンサー

こんばんは~♪

こんな方法もあります。

C列を作業列にして月だけを抜き出します。
C1: =IF(A1="","",MONTH(A1))

下にコピーします。

D1 4
D2 5
D3 6

等入れて。

E1: =SUMIF(C:C,D1,B:B)

下にコピーします。

★この場合は、データが違う年もあったら
 その月も計算しますので
 データが、同一年の場合有効です。

★データが、同一年だけでない場合は
C1:=IF(A1="","",TEXT(A1,"yyyyym"))
下にコピー。

E1: =SUMIF(C:C,"2006"&D1,B:B)

下にコピーしてください。

ご参考にどうぞ~。。。。Rin~♪♪

QCOUNTIFS関数で日付データを数えたい

COUNTIFS関数で日付データを数えたいのですがうまくいかず悩んでいます。

以下のようなデータがあります。

A列       B列
9月1日(日)  件数
9月2日(月)  件数
9月3日(火)  件数
9月4日(水)  件数


データはデータシートに
A列
2014/9/1 21:32
2014/9/1 21:31
2014/9/2 20:31
2014/9/2 21:26
2014/9/3 19:25
2014/9/3 21:30
2014/9/4 18:10

このような形にあります

上以外にも条件があるのでCOUNTIFS関数で件数をかぞえようと思い

9月1日の件数を数えるB1に

(1) =COUNTIFS(データ!A1:A7,">=A1",データ!A1:A7,"<A2")
といれてみましたがうまくいきません。

(2) =COUNTIFS(データ!A1:A7,">=2014/09/01",データ!A1:A,"<2014/09/2")
とすると件数がでてきました。

日付データを直接入力せず (1)のようにセルで入力するにはどのようにすればいいのでしょうか
また、他に方法があれば教えていただけないでしょうか

よろしくお願いいたします。

COUNTIFS関数で日付データを数えたいのですがうまくいかず悩んでいます。

以下のようなデータがあります。

A列       B列
9月1日(日)  件数
9月2日(月)  件数
9月3日(火)  件数
9月4日(水)  件数


データはデータシートに
A列
2014/9/1 21:32
2014/9/1 21:31
2014/9/2 20:31
2014/9/2 21:26
2014/9/3 19:25
2014/9/3 21:30
2014/9/4 18:10

このような形にあります

上以外にも条件があるのでCOUNTIFS関数で件数をかぞえようと思い

9月1日の件数を数えるB1に

(1) =COUNTIFS(データ!A...続きを読む

Aベストアンサー

1の方のは、時刻が入ってるので範囲が微妙にずれますね。

=COUNTIFS(A1:A7,">="&INT(A1),A1:A7,"<"&INT(A1)+1)

としてください。

もしくは
B1に 2014/09/01 と入力して(または、=INT(A1) でも可)

=COUNTIFS(A1:A7,">="&B1,A1:A7,"<"&B1+1)

Q1年分のデータから特定の月分のデータを抽出→表示

エクセル初心者です。
仕事で機材の貸し出しをしておりまして、
それを受付、まとめ、集計しているエクセルの表があります。

受付日、貸し出し機材、貸し出し先、使用時間を日毎にベタ打ちしたものがあり、
それが1年分、エクセルの表で1シートにまとめています。

その中から、月ごとのデータをシート2に抽出したい(それを元に、月別のまとめをするので)のですが、
どうすればいいでしょうか。
理想は、4/1と入力したら、4/1~4/30までのデータが表示される、
というようなものなのですが…。

そういうものになると、やはりマクロなどになりますでしょうか?
オートフィルではなく、関数で表示させたいです。

ただ表示させるだけでいいのですが…。

初心者なのに高望みをして申し訳ないのですが、
作れと上司から命令されています…。
どうかお力をお貸しください。よろしくお願いいたします。

Aベストアンサー

こんばんは!
一例です。

↓の画像で説明します。
左側が元データでSheet1・右側が表示させるデータでSheet2とします。
Sheet2のA1セルに検索したい月の数値を入力すると4行目以降に表示させるようにしてみました。

Sheet1に作業用の列を1列設けます。
作業列E2セルに
=IF(OR(Sheet2!A$1="",MONTH(A2)<>Sheet2!A$1),"",ROW())
という数式を入れこれ以上データはない!というくらいしっかり下へオートフィルでコピーしておきます。

そしてSheet2のA4セルに
=IF(COUNT(Sheet1!$E:$E)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$E:$E,ROW(A1))))
という数式を入れD4セルまで右にコピー!
そして
A4セルの表示形式は「日付」に、
D4セルの表示形式は「時刻」(←本来であればユーザー定義から [h]:mm としておいた方が良いと思います9
最後にA4~D4セルを範囲指定 → D4セルのフィルハンドルで下へコピーすると
画像のような感じになります。m(_ _)m

こんばんは!
一例です。

↓の画像で説明します。
左側が元データでSheet1・右側が表示させるデータでSheet2とします。
Sheet2のA1セルに検索したい月の数値を入力すると4行目以降に表示させるようにしてみました。

Sheet1に作業用の列を1列設けます。
作業列E2セルに
=IF(OR(Sheet2!A$1="",MONTH(A2)<>Sheet2!A$1),"",ROW())
という数式を入れこれ以上データはない!というくらいしっかり下へオートフィルでコピーしておきます。

そしてSheet2のA4セルに
=IF(COUNT(Sheet1!$E:$E)<ROW(A1),"",INDEX(Sheet1!A:A,...続きを読む

Qエクセルでその月ごとにカウントしたいのですが。。。

たとえばこんな感じでエクセルの表があるんですが
B10に今の月が2月の時は「2」と,3月だとすれば「4」件とカウントして表示したいのですが、可能でしょうか?
A B
1 1/1
2 1/2
3 1/3
4 2/2
5 2/5
6 3/5
7 3/6
8 3/7
9 3/8
10 4

Aベストアンサー

こんにちは

=SUMPRODUCT(1*(TEXT(B1:B9,"yyyymm")=TEXT(TODAY(),"yyyymm")))
てな感じ

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QExcel関数の条件に年月を指定する方法

エクセルの関数について教えてください。
以下のような計算をしたいのですが、
=SUMIF(A2:A50,条件,B2:B50)の条件に年月(例えば2010/11)を指定する方法を教えてください。

A列       B列
2010/10/26   20
2010/11/8   512
2010/11/22   100
2010/11/1   113
2010/12/13   340
2010/10/4    20
2010/11/15   72
2010/12/20   30
2011/1/14    56
2011/2/14    130

合計
2010/11    =SUMIF(A2:A50,条件,B2:B50)
2011/1     =SUMIF(A2:A50,条件,B2:B50)

Aベストアンサー

以下のような式でどうでしょうか。
=SUMIF(A1:A50,">=2010/11/1",B1:B50)-SUMIF(A1:A50,">=2010/12/1",B1:B50)

QExcelで日別に入力されたデータを月別に集計するにはどうしたらいいのでしょうか。

Excelで月別の集計をしたいのですが
例えば
  日付    数量
10月25日  200
10月27日  150
10月30日  120
11月 1日  200
11月 3日  150
のように、日付が飛び飛びで連続していなくい日々の数量を、上の行から順番に入力していった場合に(月が替わる行が決まっていない)月別の集計を取る方法はないでしょうか。


 

Aベストアンサー

どのように集計する月を指定するのかが書かれていませんが、例えば11月分の合計を出したいなら

1)11月までの合計から10月までの合計を引く方法
 =SUMIF(A:A,"<=11/30",B:B)-SUMIF(A:A,"<=10/31",B:B)

2)月が「11」のB列を合計する方法
 =SUMPRODUCT((MONTH(A2:A100)=11)*(B2:B100))

なども考えられます。

でもエクセルなら一番オーソドックスな方法はピボットテーブルでしょう。C列に
 =TEXT(A1,"YYYY/MM")
で「2008/11」のような文字列を生成しておいてピボットテーブルで集計すれば、シート上にある全ての月の合計が一発で求められます。
ピボットテーブルの使い方はGoogleなどで検索したらたくさん見つかります
http://www.viplt.ne.jp/tomy/pibot.html

Qエクセル関数で、「月ごとの登録件数を調べるには」?

またまた質問でスミマセン。

登録日が入った表があるのですが、どの月が一番登録が多かったか調べたいと思っています。シーズンの傾向を見たいのです。

登録日
--------
2004-01-30
2004-03-05
2004-03-11
2004-06-12
2005-01-30
2005-03-10
2005-03-20
2005-05-12

上のような表で、1月は何件、2月は何件と集計するには、どういうエクセル関数を書けばいいのでしょうか?すべての年をまとめた上で各月はどれ位登録があったか知りたいと思っています。

手元にある書籍にまったく載っておらず、困っています。度々恐れ入りますが、よろしくお願い致します。

Aベストアンサー

こんにちは。maruru01です。

データがA2からA列に入力されているとします。
そして、例えばC1:C12に、「1」「2」「3」・・・と月を表す数字が入力されていて、D1:D12に月の件数を表示させるとします。
D1に、

=SUMPRODUCT((MONTH($A$2:$A$10)=C1)*SIGN(DAY($A$2:$A$10)))

と入力して、D12までコピーします。

Qエクセルで特定の列にある日付データの中から、指定した日付範囲を抽出する方法を教えてください

例えばこんなデータなのですが、

2002/07/01 99 25 36
2002/07/05 55 33 25
2002/08/01 80 20 51

日付の入っている列を検索して、2002/07/01から2002/07/31
の範囲ならば、その行のデータを別のシートに抽出したいのですが、
日付の範囲は関数でどうすればよいのか分かりません。ACCESSなら
between 9999/99/99 and 9999/99/99って感じで簡単にできるの
ですが。。。エクセルの関数だとIF関数の論理式にAND関数を使って
>=2002/07/01
<=2002/07/31
と入力したので、2002/07/05ならば、いずれもTRUEなので、値を返して
くれると考えたのですが、なぜかダメでした。
(↓こういう入力をしました)
=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

Aベストアンサー

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

------------余談--------------------------
ご質問の条件例の場合特例で 2002/7でればOKなので

=IF(TEXT(Sheet2!A1,"yyyym")="20027",Sheet2!A1,"該当月ありません")

でも可能ですね!

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

--...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング