• ベストアンサー

エクセルIF関数の連続入力について

先日質問した内容に似てますが、セルA1に6と入力するとB1に6/1~6/30と表示、同じくセルA1に7と入力するとB1に7/1~7/31表示・・・と、1年分をIF関数を連続入力する方法を教えて下さい。 宜しくお願い致します。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.3

No.2の追加です。 (No.2もこれもIF関数を使わない方法です) A1に6を入れて B1に「6/1~6/30」C1に「7/1~7/31」D1に「8/1~8/31」・・・ と右方向に並べたい場合は B1に =TEXT(DATE(YEAR(TODAY()), $A$1 + COLUMN(A1)-1,1),"m/d" ) & "~" & TEXT(EOMONTH(DATE(YEAR(TODAY()), $A$1 + COLUMN(A1)-1,1),0),"m/d") として右にコピーしてください。 また A1に6を入れて B1に「6/1~6/30」B2に「7/1~7/31」B3に「8/1~8/31」・・・ と下方向に並べたい場合は B1に =TEXT(DATE(YEAR(TODAY()), $A$1 + ROW(A1)-1,1),"m/d" ) & "~" & TEXT(EOMONTH(DATE(YEAR(TODAY()), $A$1 + ROW(A1)-1,1),0),"m/d") 下にコピーしてください。 両方とも12月の次は翌年の1月になります。

kuruna
質問者

お礼

早速の回答有難うございました。

その他の回答 (2)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

A1に6と入れて「6/1~6/30」という文字 A1に7と入れて「7/1~7/31」という文字 以下同じように数値に対応した日付を入れるとしたら B1に =A1 & "/1~" & A1 & "/" & DAY(EOMONTH(YEAR(TODAY()) & "/" &A1 & "/1",0)) としてみてください。 起動した年の各月の最終日になります。

回答No.1

VBAでやったほうが楽そうな気がしますが式だとこんなイメージになります。 月末はその年の月によって違うので式いれたほうが良いと思います。 E1に 2022/1/1 C1に =IF(A1=1,"1/1",IF(A1=2,"2/1",IF(A1=3,"3/1",IF(A1=4,"4/1",IF(A1=5,"5/1",IF(A1=6,"6/1",IF(A1=7,"7/1",IF(A1=8,"8/1",IF(A1=9,"9/1",IF(A1=10,"10/1",IF(A1=11,"11/1",IF(A1=12,"12/1","")))))))))))) 月初 D1に =EOMONTH(E1,A1-1) ※E1の年の1月から何ヶ月後の月末 B1に =C1 & "~" & TEXT(D1,"m/d") ※年を2023にする場合は 2023/1/1 後は行をコピーして使う

kuruna
質問者

お礼

回答有難うございました。