• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel関数について)

Excel関数で期間内の年月を表示する方法

このQ&Aのポイント
  • Excel2010を使用しています。期間を指定して、その期間内の年月を表示する方法を知りたいです。
  • A1(開始日)とB1(終了日)に期間を指定し、A3以降に指定された期間内の年月を表示する方法を教えてください。
  • 検索してもなかなかヒットせず、解決策を探しています。良い関数はないでしょうか?

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

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

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までコピー貼り付けておく。

chiko2525
質問者

お礼

ありがとうござました。無事に作成できました。

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

目的に合うか否かは分かりませんが添付画像のようにExcel 2013で試算してみました。 Excel 2010でも同じ結果を得られます。 A3=IF(EOMONTH($A$1,COLUMNS($A1:A1)-2)+1<$B$1,EOMONTH($A$1,COLUMNS($A1:A1)-2)+1,"") A3セルをL3セルまでオートフィルでコピーしました。 結果の確認用にA5セルへ下記の式をセットしてL5セルまでオートフィルでコピーしました。 A5=A3

chiko2525
質問者

お礼

ありがとうござました。無事に作成できました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 まず、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の範囲に貼り付けて下さい。  以上です。

chiko2525
質問者

お礼

ありがとうござました。無事に作成できました。

  • usami33
  • ベストアンサー率36% (808/2210)
回答No.2

ちょっと長いけど 下の式 =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」を指定しておくと年月表示になります

chiko2525
質問者

お礼

ありがとうござました。無事に作成できました。