『日付が入っているセルをカウントしたい』(まぁ) お世話になっております。 エクセル2003を使用しています。    C       D   F 2 2012/12/01 B-11  3            B-12  4 2013/01/05     B-13 5 2013/01/05     B-14 6 該当しない     B-15 7 2013/01/16     B-16 8            B-17  9            B-18  10 該当しない   B-19 ・ ・  ・ C列はブランクだったり、「該当しない」という日本語が入っていたり、日付が入っていたりする資料があるのですが、 C列に 日付の入ったセル のみ、D列でカウントしたいと思っています。 例えば、C2の場合、D2に「1」と入り、D3やD6は「0」と入るような数式が あれば教えてください。 初心者のため、簡単な数式で教えていただけると助かります。 宜しくお願いいたします。 ---- [D2]=ISNUMBER(C2)*1 で下までコピーでどうでしょうか。 (Cod) ---- D2 =COUNT(C2)  下オートフィルでも ちなみに最終的には何をしたいんですか? (よみびとしらず) ---- D4 には 1 といれたいの? それとも 2 といれたいの? (ぶらっと) ---- 返信いただきありがとうございます。 言葉足らずですみません。 このデータは、全件で2000件くらい有ります。 C列の日付は、その日作業をした日付を入れていくため、 現段階ではブランクもあれば、明日作業をすればC列に明日の日付が入るという感じです。 方法は何でも構わないのですが、日付が入っているもののみカウントしたく、 カウントした数を別シート各地域別に集計したいと思っています。 G列には全てにF列の番号に対して該当する都道府県が入ってます。 Cod)様 教えていただきました数式、エクセルに貼り付けてみたのですが、 文字列貼り付けた時のように特に変化が無く、どうしたら数式が反映されるのでしょうか? お手数お掛けいたしますが、宜しくお願いいたします(まぁ) -------------------------------------------------------------------------------- ---- たとえば D2 に =IF(CELL("format",C2)="D1",1,"") これをズリズリ下にひっぱると日付は 1、文字列や数字や空白は 空白になると思う。 (ぶらっと) ---- 2000件もあったり、その結果を地域別にまとめて別シートに集計するということなら マクロでやったほうがいいかも。集計の要件によってはフィルターオプションなんかがいいと思うけど 以下は、とりあえず、力技で集計結果を表示。 Sub Sample() Dim dic As Object Dim c As Range Dim dist As String Dim v() As Variant Dim d As Variant Dim k As Long Set dic = CreateObject("Scripting.Dictionary") With Sheets("Sheet1") For Each c In .Range("C2", .Range("C" & .Rows.Count).End(xlUp)) If IsDate(c.Value) Then dic(c.Offset(, 4).Value) = dic(c.Offset(, 4).Value) + 1 Next End With If dic.Count = 0 Then MsgBox "日付が入ったデータはなかったです〜〜" Exit Sub End If ReDim v(1 To dic.Count) For Each d In dic k = k + 1 v(k) = d & " : " & dic(d) Next MsgBox "日付がはいった件数は以下の通りでした" & vbLf & Join(v, vbLf) End Sub (ぶらっと) ---- 小出しに情報出してるけど、結局何をしたいのかよくわからない。 C列には日付以外の数値を入力することがあるんですか? 都道府県別・F列の項目別に日付(数値)が入っている個数を集計したいってことなら ピボットテーブルで十分。 (よみびとしらず) ---- おそらく 左辺(どのセルに張り付けるのかの説明用に記述してあります)も 貼り付けているからではないでしょうか。 [D2]=ISNUMBER(C2)*1  の 右部分(=を含めて右側の数式)を D2 に貼り付けて 2000行分下までフィルします。 ● 『=ISNUMBER(C2)*1』のカッコは外してくださいねえ。 他の方の例も同じく 貼り付けるのは = から右側になります。 ---- 返信、ありがとうございました。 問題、無事に解決することができ、大変助かりました。 ISNUMBER、IF(CELL)関数・・。色々な関数があり、とても勉強になりました。 今回の問題はISNUMBERで解決させていただきました。 マクロも使用してみたいのですが、まだまだ関数時点で躓いている初心者のため、マクロとは?から 見てみようと思います。 (ぶらっと)様の方法で1つ質問があります。 C列に日付を入れてみて、その日付を消したのですが、D列に「1」が立ったままになります。 これは、どうしたら消えるのでしょうか? (まぁ) ---- >C列に日付を入れてみて、その日付を消したのですが、D列に「1」が立ったままになります。 あぁ!そうか!! エクセル素人が慣れない回答をするもんじゃないねぇ。 表示書式を判定しているのでいったん日付型の値が入れば、そこにどんな値をいれようと表示書式は日付型のままだね。 提案撤回。無視してください。 (ぶらっと) ---- この質問者、もしかしてわざと無視してる? (よみびとしらず) ---- (ぶらっと)様、ありがとうございました。「こういう検索もできるんだな」と 勉強になりましたので大変勉強になりました。 (よみびとしらず)様、すみません。無視はしておらず、回答いただいたこと大変感謝しております。 今回は、ISNUMBERの関数で解決できたため、ピボットテーブルが必要になりました際には、 またご教授いただけると助かります。 ありがとうございました(まぁ) ---- ピボットテーブルのことだけと違うんですけどね。 D列に「1」か「0」が入れば、あとの集計はできるということやったら ピボットテーブル云々はどうでもいいです。 COUNT関数での回答も提示したんやけど、わかってます? わかっててISNUMBERで解決したというんなら、これもそれはそれでいいです。 もうひとつ、一応念のために確認した ↓ の質問に対する返事もないんやけど? > C列には日付以外の数値を入力することがあるんですか? (よみびとしらず) ---- (よみびとしらず)様、C列には、数値で言えば日付以外の入力は行う事は無いです。 COUNT関数で出来ました。 今回は使ったことが無いISNUMBER関数でチャレンジしてみようと思い、そちらだけに注視してしまったため、スミマセンでした。回答いただきましてありがとうございました。初心者なので大変助かりました。