
過去の記録にもなく、困っています。
エクセルで(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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの式がわかる方がおら...
-
Microsoft Officeを2台目のPCに...
-
Excelで〇のついたものを抽出し...
-
大学のレポート A4で1枚レポー...
-
Microsoft Formsの「個人情報や...
-
office2019 のoutlookは2025年1...
-
マイクロソフト オフィスのサポ...
-
Office2024インストール後の疑問点
-
パソコンを買い替える際、前の...
-
Excel 日付を比較したら、同じ...
-
outlookのメールが固まってしま...
-
Office 2021 Professional Plus...
-
別シートの年間行事表をカレン...
-
エクセルで質問です。 ハイパー...
-
以下マクロの処理を最終行まで...
-
エクセル 日付順に並べてかえた...
-
VBAファイルの保存先について
-
会社のOutlookにてメールを予約...
-
MicrosoftOfficeの1ユーザー2...
-
Office2021を別のPCにインスト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
マイクロソフト オフィスのサポ...
-
Office2021を別のPCにインスト...
-
エクセル 日付順に並べてかえた...
-
outlookのメールが固まってしま...
-
Excelで〇のついたものを抽出し...
-
Microsoft Formsの「個人情報や...
-
マクロ自動コピペ 貼り付ける場...
-
Office2024インストール後の疑問点
-
office2019 のoutlookは2025年1...
-
エクセルで質問です。 ハイパー...
-
エクセル 同じ数字を他の列に自...
-
別シートの年間行事表をカレン...
-
【Excel VBA】PDFを作成して,...
-
Excel 日付を比較したら、同じ...
-
パソコンWindows11 Office2021...
-
Office 2021 Professional Plus...
-
エクセル:一定間隔で平均値を...
-
Teams内でショートカットって貼...
おすすめ情報