プロが教えるわが家の防犯対策術!

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)のようにセルで入力するにはどのようにすればいいのでしょうか
また、他に方法があれば教えていただけないでしょうか

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

A 回答 (3件)

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)
    • good
    • 2

前のかたの回答で正解と思うんですけど、それでも正しく表示できないのであれば



>9月1日(日)
が文字列になっていると考えられます。
セルの書式が「ユーザー書式」で
  m"月"d"日"(aaa)
のようになっていて、
そこから分類で「標準」を選ぶとシリアル値になることを再度確認してください。
    • good
    • 5
この回答へのお礼

書式を「標準」にすると、数字になったので、シリアル値でした。
教えていただきありがとうございました。

お礼日時:2014/10/06 22:53

B1には


=COUNTIFS(データ!A:A,">="&A1,データ!A:A,"<"&A1+1)
と計算します。
    • good
    • 1
この回答へのお礼

& について 教えてくださりありがとうございました。
おかげでできました。

お礼日時:2014/10/06 22:51

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

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

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

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

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

Qエクセル COUNTIF関数 検索条件を 5月中のように広く指定したい

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

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

宜しくお願いします。

Aベストアンサー

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

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

これで5月の数がC1に出ます。

Q期間と条件を指定してカウントする関数。

下記の図でG4~I6に入る関数を教えて下さい。

ピボットテーブルを試しましたがよく分からず、COUNTIFS関数を使用しましたが
日付の入力の仕方がいまいちわかりません。

試しにG4に入力した関数は以下の通りです。

=COUNTIFS(D:D,"○○",C:C,8/16:8/21)

この8/16~8/21という指定の仕方がわかりません。

どういう関数を入れればカウントできますでしょうか?
あと出来ればこのフォームを使い回したいので表のG3~I3の数字を変えるだけで
カウント出来るようにしたいのですが可能でしょうか?

宜しくお願いします。

Aベストアンサー

回答No.1の数式に一部誤りがありましたので訂正します。
G4=COUNTIFS($D:$D,F4,C:C,">="&LEFT(G$3,FIND("~",G$3)-1)*1,$C:$C,"<="&MID(G$3,FIND("~",G$3)+1,LEN(G$3))*1)
   ↓
G4=COUNTIFS($D:$D,$F4,$C:$C,">="&LEFT(G$3,FIND("~",G$3)-1)*1,$C:$C,"<="&MID(G$3,FIND("~",G$3)+1,LEN(G$3))*1)

数式中のC:Cを$C:$Cに、F4を$F4に修正しました。

誤りの内容はセルの指定で$が不足しているため右にコピーしたとき検索条件範囲が移動してしまうことです。
検証時にはH3セルとI3セルの範囲に入るデータが存在しなかったのでチェック漏れになりました。

あなたの検証で全てが0と表示されることとは異なるチェックミスです。

QSUMIF関数で、条件に日付範囲で指定するには?

SUMIF関数で、条件に日付をいれたいのですが、
10日毎の範囲で集計を取るにはどうすればいいでしょうか。

A列に日付、B列に数値で
=SUMIF(A:A,"【2013/9/1~2013/9/10】",B:B) 
こんな感じで日付の部分が問題のところです。

date関数を入れてみると例えば9/3だけなど、一日だけの計算はできたのですが…
1~10,11~20、21~末日(31日)で合計するにはどう記入すればいいでしょうか。

Aベストアンサー

こんにちは。

2013/9/10までを求めて、2013/9/1以前を引けば答えが出ます。
=SUMIF(A:A,">=2013/9/10",B:B)-SUMIF(A:A,"<2013/9/1",B:B)

どうでしょうか。

QエクセルのCOUNTIFが正しくカウントされない原因について

この度はよろしくお願いします
エクセルのCOUNTIFで、例えば列Aに0~9までの数がランダムに入っているとします。それをカウントすると0~4まではきちんとカウントするのですが、5~9までのカウント数が0になってしまいます。実際には5~9までの数も含まれているのですが、このようになってしまう原因は何でしょうか?
よろしくお願いします。

Aベストアンサー

同じ半角の5に見えていても、数値扱いと文字扱いになっている場合があります
COUNTIFを使う前に、VALUEで数値に統一してみて下さい

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エクセルで年、月をカウントする

皆さんこんにちは。
エクセルに関して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エクセルのIF関数で、文字が入力されていたならば~

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで日付+時間帯別にカウントしたいと思っています。

エクセルで日付+時間帯別にカウントしたいと思っています。

2010/3/28 19:47:12
2010/2/12 18:52:25
2010/3/22 17:12:11
2010/3/20 15:34:53

このように分類が日付になっているデータがランダムに並んでいます。
書式設定で言うと
分類:日付
種類:2010/3/20 15:34:53

これを日付+時間帯別にカウントしたい場合どうすれば良いでしょうか?
例えば(上の例だと)
「2010/3/20 15時台」は 1個
「2010/3/20 16時台」は 0個
「2010/3/20 17時台」は 0個
「2010/3/22 17時台」は 1個

どうかよろしくお願いします。

Aベストアンサー

こんばんは!
一例です。
↓の画像のように各時刻台(1時間台)のデータをつくり
隣のセルに個数を表示させるようにしています。

D2セルに
=IF(C2="","",SUMPRODUCT(($A$2:$A$100>=C2)*($A$2:$A$100<C2+"1:00")))
という数式を入れ、オートフィルで下へコピーしています。
数式はA列の100行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば良いのですが
他に良い方法があれば読み流してくださいね。m(__)m

QExcel 指定の文字列を含むとカウントするようにしたい場合は?

ただいまエクセルと格闘中の初心者です。
関数等はオートSUMくらいしか使ったことがなく、必要時にいちいち調べているような状態です。
今回は文字列を含むとカウントするところで躓いております。

表の中から特定の文字列を含むとカウントするようにしたい時COUNTIFを使うと思うのですが、この場合正確にその言葉じゃなければカウントされませんよね?

例えば「ボールペン」「サインペン」「シャープペン」のようなペン類をまとめてカウントしたい時、ペンだけで認識してくれるようにすることは可能なのでしょうか?
COUNTIF関連で探してみているのですが、中々思うような検索ができていません(もしくはわからずに見逃しているのかも?)

エクセルにお詳しい方、アドバイスを頂ければと思います。
よろしくお願い致します。

Aベストアンサー

検索条件に「*ペン*」としてみてはいかがですか。

ちなみに上記は「ペン」がどこかにあるものを対象とする。
「*ペン」は文字列がペンで終わるものを対象にする。
「ペン*」は文字列がペンで始まるものを対象とする。


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

人気Q&Aランキング