[[20180507140038]] 『重複データのカウントを、日付で抽出したい』(めこ) ページの最後に飛ぶ

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

 

『重複データのカウントを、日付で抽出したい』(めこ)

A    B
あああ  1月1日
いいい  1月1日
いいい  1月2日
いいい  1月2日
ううう  1月2日
ううう  1月2日
ううう  1月2日
えええ  1月2日
おおお  1月2日
おおお  1月3日
かかか  1月3日

実現したいのは、1月2日のデータで重複を除いた件数のカウントです。
この例の場合求めたいのは4件ということになります。

本来のデータは前後に膨大に数があり、今後もどんどん追加されるものです。
単純な指定範囲の重複を除いたカウントは実現できましたが、そこから先に進めません。
もし、実装可能でしたらご助力願います。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


Sub main()
    Dim dic As Object, ip As String, c As Range
    ip = InputBox("対象日付(yyyy/m/d)を入力")
    If Not IsDate(ip) Then MsgBox "日付不正": Exit Sub
    Set dic = CreateObject("Scripting.Dictionary")
    For Each c In Range("B:B").SpecialCells(xlCellTypeConstants)
        If c.Value = DateValue(ip) Then
        dic(c.Offset(, -1).Value) = True
        End If
    Next c
    MsgBox dic.Count & "件"
End Sub
(mm) 2018/05/07(月) 14:25

 =COUNT((0/FREQUENCY(IFERROR(MATCH(IF(B$1:B$20000="2018/1/2"*1,A$1:A$20000,""),A$1:A$20000,0),""),ROW($1:$20000))))
 と入力してShiftキーとCtrlキーを押しながらEnterキーで式を確定してくれ。
 (確定後、式が{}で囲まれればOK)
 なおデータが最大20000行まで対応している。
 もっとある場合は式中の20000を大きくしてくれ。
(ねむねむ) 2018/05/07(月) 14:34

お二人ともありがとうございます。
試したところ、求めたい結果を得られましたが、そもそもの前提で問題が発生したため、利用には至りませんでした。
せっかくお知恵を貸してくださったのに申し訳ありません。
改めて、ありがとうございました。
(めこ) 2018/05/07(月) 15:18

コメント返信:

[ 一覧(最新更新順) ]


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