• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:日付をカウントする)

エクセルで日付をカウントする方法と日数を数える方法

このQ&Aのポイント
  • エクセルのバージョン2003で日付をカウントする方法と日数を数える方法について説明します。
  • セルに和暦で入力された日付が実際には西暦である場合、エクセルの関数を使って正しい日付をカウントすることができます。
  • また、日付が重複している場合にはCOUNTIF関数を使って重複をカウントすることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

こんばんは。 >24/7、24/8、24/10というセルを作って ご相談の前提が「なんちゃって暦データ」ですから、これらにも具体的にどんな内容を記入しているのかが問題です。 ふつーにセルに「24/7」を記入すると「7月24日」として記録されますが、これらを強引に「7/14」に持って行ってたりしたら、当然お話になりません。 理想は「2024/7/1」のように記入して、パターンを合わせて「24/7」を表示している事です。 無理矢理「文字列」で「24/7」を記入する手もありますが、とにかく「あなたがどうしているのか」に応じた数式を作成しなきゃですね。 とりあえずC1セルに「2024/10/1」を記入し「24/10」と表記することにして。 A1からざっくりA100ぐらいまで日付が記入されているとして。 該当の月は =SUMPRODUCT((A1:A100<>"")*(MONTH(A1:A100)=MONTH(C1))) 個あります。 ダブりを省いた日付は =COUNT(0/FREQUENCY(IF(MONTH(A1:A100)=MONTH(C1),A1:A100),IF(MONTH(A1:A100)=MONTH(C1),A1:A100))) と記入し、必ずコントロールキーとシフトキーを押しながらEnterします

rakuten55
質問者

お礼

回答ありがとうございます。 目的達成できました。 詳しい回答に感謝します(^.^) ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

こんにちは。 合っているかどうかは分かりません。 こういう数式を書くのは、8年ぶりぐらいです。今は練習中です。 ・各月のセルの数をカウント =SUMPRODUCT((YEAR($A$1:$A$7)*100+MONTH($A$1:$A$7)=201200+ROW(A1))*1) データの範囲: $A$1:$A$7 1月~ : ROW(A1) 数式を入れて、そのセルをドラッグ--12行下へ 年をまたぐ恐れがありので、念の為に年数を入れました。YEAR($A$1:$A$7) 201200 ・各月の日数をカウント =SUMPRODUCT((MATCH(A1:A7,A1:A7,0)=ROW(A1:A7))*1) データの範囲: A1:A7 ROW(A1:A7) これは、データがあっても、必ず、A1から始まる。 そのデータ幅だけを合わせる 例:データ範囲 A10:A20 =SUMPRODUCT((MATCH(A10:A20,A10:A20,0)=ROW(A1:A11))*1)

rakuten55
質問者

お礼

回答ありがとうございます。 おかげさまで目的が達成できました(^.^) また機会がありましたら、よろしくお願いします。

すると、全ての回答が全文表示されます。
回答No.3

No.2 です。すみません、日本語がちょっとおかしいですね。「同日のセル数」とは、「同一の日付の重複を除いた同月のセル数」、つまり「同月のセルの種類数」という意味のつもりでした。

すると、全ての回答が全文表示されます。
回答No.2

今年の日付として「平成24年9月10日」のシリアル値を入力したければ、単に「9/10」と入力しましょう。入力後、そのセルにカーソルを置いて数式バーなどを見ると、自動的に「2012/9/10」が入力されていると分かると思います。ちなみに「2024/9/10」とは勿論「2024年9月10日」のことです。シリアル値が入力されているセルに対して書式を「日付」の和歴などに設定すると、「2012/9/10」の「表示」を「平成24年9月10日」にできます。 「=month(a1)」と「=day(a1)」という数式で、年月日から月と日をそれぞれ取り出せます。「=date(2012,b1,c1)」という数式で、年、月、日から年月日のデータ(日付のシリアル値)を作れます。 こうしてできた「2012/9/10」などのデータが A 列にあるとしましょう。 C1 24 D1 / E1 10 G1 =countif(a1:a7,">="&date(1988+c1,e1,1))-countif(a1:a7,">="&date(1988+c1,e1+1,1))  ……同月のセル数 H1 =sumproduct(1/((year(a1:a7)=c1+1988)*(month(a1:a7)=e1)*(countif(A$1:A$7,a1:a7))+(a1:a7<date(1988+c1,e1,1))+(date(1988+c1,e1+1,1)<=a1:a7)))-(rows(a1:a7)-g1)  ……同日のセル数 H1 セルは、数式の確定後に勝手に日付の書式になってしまったりするので、標準とか数値とかの書式に設定してください。 H1 セルの数式は少し難解かもしれませんが、「1/同一セル個数」を合計することで、同一でないセルの種類数を数えています。「+(a1:a7<date(1988+c1,e1,1))」などの部分は、分母がゼロになるエラーを防止するための項で、「rows(a1:a7)-g1」で正しい値に合計値を戻すよう調整しています。

rakuten55
質問者

お礼

回答ありがとうございます。 表まで使って詳しい解説ありがとうございました。 おかげさまで目的が達成できました。 ありがとうございました(^.^)

すると、全ての回答が全文表示されます。

関連するQ&A