
過去の記録にもなく、困っています。
エクセルで(A列の)日付をカウントしたいのですが、重複して困っています。
「C1」に任意の日付(○月○日)を入れると、「D1」に○月○日以下の日付がカウントされるようにしたいのです。
A B C D
1 4月5日
2 4月6日
3 4月6日
4 4月6日
5 4月7日
6 4月7日
7 4月8日
D1に
=COUNTIF(A:A,"<="&C1)
といれてみると、重複してカウントされてしまうのですが、重複を除いてカウントがしたいのです。
ちなみに(C1)に「4月7日」を入れると、(D1)に「3」になるようにしたいのに、重複して「6」となってしまいます。
おいそがしいと思いますが、どうかご教授をお願いいたします。
No.6ベストアンサー
- 回答日時:
日付データがA1セルから入力されているなら以下の式でC1セル以下の日付の数が求められます。
=COUNT(INDEX(1/(MATCH(A1:A10,A1:A10,0)=ROW(A1:A10)*(A1:A10<=C1)),))
A2セルからのデータの場合は、ROW(A1:A10)の部分を以下のように変更します
=COUNT(INDEX(1/(MATCH(A2:A10,A2:A10,0)=(ROW(A2:A10)-1)*(A2:A10<=C1)),))
No.7
- 回答日時:
最も分かり易い方法は作業列を作って対応することです。
計算にも負担のかからない方法です。
例えばE1セルには次の式を入力して下方にドラッグコピーします。
=IF(COUNTIF(A$1:A1,A1)=1,A1,"")
その後にD1セルにはあなたがお示しの式と同様の式を入力すればよいでしょう。
=IF(C1="","",COUNTIF(E:E,"<="&C1))
E列が目障りでしたら列を選択して右クリックし、「非表示」を選択します。
お忙しい中ありがとうございます。
確かに負担がかからない作業列は魅力的でした。
ただ、これで作ったエクセルは、不特定多数にて利用するため、行や列を削除してしまい、関数が抜ける危険性もあるので、作業列の利用は控えたいと思います。
説明不足で大変申し訳ございません。
No.5
- 回答日時:
こんばんは!
作業列を使っても良いのであれば・・・
B1セルに
=IF(AND(A1<=$C$1,COUNTIF($A$1:A1,A1)=1),1,"")
という数式を入れオートフィルでずぃ~~~!っと下へコピー!
D1セルには
=SUM(B:B)
としてみてください。
作業列が目障りであれば遠く離れた列にします。
※ 作業列を使わない方が良いのであれば、VBAになってしまいますが
一例です
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim i, k As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1) <= Cells(1, 3) And _
WorksheetFunction.CountIf(Range(Cells(1, 1), Cells(i, 1)), Cells(i, 1)) = 1 Then
k = k + 1
End If
Next i
Cells(1, 4) = k
End Sub 'この行まで
参考になりますかね?m(_ _)m
お忙しい中ありがとうございます。無事にカウントされました。
作業列を使った方法は、とても参考になりました。別の形で利用したいと思います。
VBAでできるとは、考え付きませんでした。ただ私自身がVBAを十分理解しておらず、修正したりする自信がないので、今回は利用しませんでした。
マクロを覚えていたら、ベストアンサーにしていたと思います。
No.4
- 回答日時:
=COUNT(0/FREQUENCY(IF(A1:A7<=C1,A1:A7),IF(A1:A7<=C1,A1:A7)))
と記入して、必ずコントロールキーとシフトキーを押しながらEnterで入力します。
お忙しい中ありがとうございます。
ただ、私の理解力不足のため、うまくカウントされないケースがありました。
でも、「コントロールキーとシフトキーを押しながらEnter」を利用した機能は初めて知りました。
今後、活用していきたいと思います。本当にありがとうございます。
No.2
- 回答日時:
ANo.1です。
前回の回答は無視して下さい。
C1に4月7日と入れるとそれ以降の日付をカウントしたいという事ですよね。
D1に
=COUNTIF(A:A,">="& C1)
だと思います。
違っていたら読み流してください。
この回答への補足
説明不足で大変申し訳ございません。
「(C1)に「4月7日」を入れると、(D1)に「3」になるようにしたい」というのは
4月7日「以下」という意味で、A列に表示されている「4月5日」「4月6日」「4月7日」の「3」カウントを表示したいという意味です。
手間をとらせてしまい。大変申し訳ございません。
No.1
- 回答日時:
>(C1)に「4月7日」を入れると、(D1)に「3」になるようにしたい
C1の4月7日もカウントするという事でしょうか。
そうだとして
D1に
=COUNTIF(A:A,C1)+1でいいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
日付を重複を除いてカウントしたいです
Excel(エクセル)
-
エクセル関数 日別の重複しないデータの個数を求める
その他(Microsoft Office)
-
(エクセル関数)指定期間内で重複を除いて数え上げる方法
Excel(エクセル)
-
-
4
2つの期間の重複する日数(月数)を計算するには?
Word(ワード)
-
5
SUMPRODUCT 複数条件の重複データ件数
Excel(エクセル)
-
6
エクセルで同じ日に2回出勤したデータ数を数えたい
Excel(エクセル)
-
7
ドロップダウンリスト 自動表示したい
Excel(エクセル)
-
8
Excel 重複を除いてデータ数をカウントする関数 (複数条件ありのケース)
Excel(エクセル)
-
9
エクセル 所定の期間に重なっている期間を表示するには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
エクセル 日付順に並べてかえた...
-
マイクロソフト オフィスのサポ...
-
Office2021を別のPCにインスト...
-
Excelで〇のついたものを抽出し...
-
エクセル 同じ数字を他の列に自...
-
パソコンWindows11 Office2021...
-
エクセルで質問です。 ハイパー...
-
大学のレポート A4で1枚レポー...
-
Microsoft Formsの「個人情報や...
-
別シートの年間行事表をカレン...
-
outlookのメールが固まってしま...
-
会社のOutlookにてメールを予約...
-
office2019 のoutlookは2025年1...
-
Office 2021 Professional Plus...
-
Microsoft 365 の支払いが反映...
-
快活CLUBについて 私用で使う書...
-
別ブックへのエクセルマクロの...
-
エクセルやパワポファイルの保...
-
【Excel VBA】PDFを作成して,...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
エクセルからメールを作れるか...
-
Microsoft365、ページ設定がで...
-
快活CLUBについて 私用で使う書...
-
パソコンWindows11 Office2021...
-
libreoffice calcで行を挿入し...
-
エクセルで質問です。 ハイパー...
-
outlookのメールが固まってしま...
-
Microsoft Formsの「個人情報や...
-
別シートの年間行事表をカレン...
-
Microsoft Formsでクイズの解答...
-
マクロ自動コピペ 貼り付ける場...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
エクセルで特定のセルの値を別...
-
Officeを開くたびの「再起動メ...
-
office2019 のoutlookは2025年1...
おすすめ情報