[[20130215103949]] 『日付が入っているセルをカウントしたい』(まぁ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『日付が入っているセルをカウントしたい』(まぁ)

お世話になっております。
エクセル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関数でチャレンジしてみようと思い、そちらだけに注視してしまったため、スミマセンでした。回答いただきましてありがとうございました。初心者なので大変助かりました。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.