• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル-年月自動入力)

エクセルで年月を自動入力する方法

このQ&Aのポイント
  • エクセルでa1から20に年月を入力する方法について説明します。a1のスタートは入れたいデータによって異なりますが、それぞれのスタートから20ヶ月後がa20に表記されます。
  • a1を平成17年8月とした場合、9月から1月までは平成○年という表記が入りますが、他の月は通常の月の表記になります。
  • a列には20とc列には20を表記したい場合、c列はa20の次の月から始まります。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

No.1です。 >正確にはB9~B38とH9~H38なのですが >その場合、式はどう変化しますでしょうか? まず、A2に入力する数式は、B10に入力することになりますが、 この際参照するセルは、A1→B9になるので、数式中の 「$A$1」を「$B$9」に替えます。 ただし、ROW関数の中の「A1」は替えてはいけません。 ROW関数は行番号を返す関数ですが、ここでは「1番目」という意味を持ち、A1というセル自体を参照しているわけではありません。 (この数式を下へコピーすると、ROW関数の部分が、「1番目」「2番目」・・・と連番になるのです。) 次に、H9に入力するC1の数式ですが、こちらも「$A$1」を「$B$9」に替えます。 ところで、No.1の補足欄の範囲だと、30ヶ月になります。 もし30ヶ月なら、C1の数式中の「20」を「30」にして下さい。 あとはH10に入力するC2の数式ですが、こちらは、「$C$1」を「$H$9」に替えます。 もちろん、ROW関数の中は、「C1」のままです。 ところで、ROW関数は前述のように行番号を返す関数なので、列は関係ありません。 したがって、中(引数)は「A1」や「C1」でなくても、「B1」でも「H1」でも「AA1」でも構わないです。 ROW関数や他の関数はヘルプを参照してみて下さい。

enntei
質問者

お礼

完璧すぎます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

A2:A20と c2:c20を範囲指定し、1度にその書式をユーザー定義のyyyy年mm月にします。正式にはyyyy"年"mm"月" A2に2005/8と入れる。スタート月、1日が入るが入力は略せる。 A3に=DATE(YEAR(A2),MONTH(A2)+1,1) A3をA20まで式を複写する。 ---- C2には=DATE(YEAR(A20),MONTH(A20)+1,1) C3には=DATE(YEAR(C2),MONTH(C2)+1,1) C3をC4以下に複写する。

  • hiroaki_0
  • ベストアンサー率53% (131/245)
回答No.2

えっと、書式が途中で変わる場合は、マクロ(VBA)を使わないと出来ないと思います。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 まず基準となるA1には、「2005/8/1」とその月の1日の日付を入力することとします。 (「2005/8」だけでも1日として自動変換してくれるようですが、念のため年月日を入力して下さい。) そして、A1のセルの表示形式をユーザー定義で、 「ggge"年"m"月"」 にします。 A2に、 =TEXT(EDATE($A$1,ROW(A1)),IF(MOD(MONTH($A$1)+ROW(A1),12)=1,"ggge年","")&"m月") と入力して、A20までコピーします。 EDATE関数が使用出来ない場合は、A2には、 =TEXT(DATE(YEAR($A$1),MONTH($A$1)+ROW(A1),1),IF(MOD(MONTH($A$1)+ROW(A1),12)=1,"ggge年","")&"m月") と入力して下さい。 A2:A20のセルの表示形式は標準のままでOKです。 次に、C1に、 =EDATE($A$1,20) または、 =DATE(YEAR($A$1),MONTH($A$1)+20,1) と入力して、セルの表示形式をA1と同様に、 「ggge"年"m"月"」 にします。 C2に、 =TEXT(EDATE($C$1,ROW(C1)),IF(MOD(MONTH($C$1)+ROW(C1),12)=1,"ggge年","")&"m月") または、 =TEXT(DATE(YEAR($C$1),MONTH($C$1)+ROW(C1),1),IF(MOD(MONTH($C$1)+ROW(C1),12)=1,"ggge年","")&"m月") と入力して、C20までコピーします。 C2:C20のセルの表示形式も標準のままでOKです。

enntei
質問者

補足

できました! maruru01さんスゴイスゴイ。 ただ、例としてあげたのはあくまで例だったので 8月の次が2月になったり平成が明治になったりしちゃってます。 正確にはB9~B38とH9~H38なのですが その場合、式はどう変化しますでしょうか?