- ベストアンサー
Excel関数で期間内の年月を表示する方法
- Excel2010を使用しています。期間を指定して、その期間内の年月を表示する方法を知りたいです。
- A1(開始日)とB1(終了日)に期間を指定し、A3以降に指定された期間内の年月を表示する方法を教えてください。
- 検索してもなかなかヒットせず、解決策を探しています。良い関数はないでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A3には =IF(COUNT(A1:B1)=2,A1-DAY(A1)+1,"") と記入,セルの書式設定の表示形式のユーザー定義で yyyy年m月 と設定する B3には =IF(OR($A3="",EDATE($A3,COLUMN(A1))>$B1-DAY($B1)+1),"",EDATE($A3,COLUMN(A1))) と記入,セルの書式設定の表示形式のユーザー定義で yyyy年m月 と設定してL3までコピー貼り付けておく。
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず、A3セルの書式設定の表示形式を[ユーザー定義]の yyyy/m として下さい。 次に、A3セルに次の様な関数を入力して下さい。 =IF(ISNUMBER(1/DAY($A$1)),IF(COLUMNS($A:A)>IF(ISNUMBER(1/DAY($B$1)),IF($A$1>$B$1,0,DATEDIF(TEXT($A$1,"yyyy/m"),$B$1,"m")+1),12),"",DATE(YEAR($A$1),MONTH($A$1)+COLUMN()-COLUMN($A$3),1)),"") 次に、A3セルをコピーして、B3~L3の範囲に貼り付けて下さい。 以上です。
お礼
ありがとうござました。無事に作成できました。
- usami33
- ベストアンサー率36% (808/2210)
ちょっと長いけど 下の式 =IF(ISERROR(IF(DATE(YEAR(A1),MONTH(A1)+1,DAY(A1))<$B$1,DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)),"")),"",IF(DATE(YEAR(A1),MONTH(A1)+1,DAY(A1))<$B$1,DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)),"")) それとセルの書式設定⇒ユーザー定義で 「yyyy/m」を指定しておくと年月表示になります
お礼
ありがとうござました。無事に作成できました。
お礼
ありがとうござました。無事に作成できました。