重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

シート名が「2021年10月」だった場合、

例えばB9のセルの中には、
「2021年11月~2022年10月」と自動で表示されるための数式を教えてください。

「シート名の翌月 ~ シート名の1年後」というルールです。
よろしくお願いいたします。

A 回答 (6件)

=TEXT((RIGHT(CELL("filename",A1),8)&"1日")*1+31,"yyyy年mm月~")&TEXT((RIGHT(CELL("filename",A1),8)&"1日")*1+366,"yyyy年mm月")



シート名が必ず「yyyy年mm月」の形式で入力されることが前提です。
(1桁の時は1桁で表示してほしいというような要望があれば質問で書いておいて欲しい)
あんまり短くならなかったな。
    • good
    • 0
この回答へのお礼

できました!ありがとうございました。
mm→mにしたら01月じゃなく1月になりました。

お礼日時:2021/10/01 17:29

シート名が「yyyy年mm月」の場合と「yyyy年m月」の両方ある場合。


B9=IF(LEFT(RIGHT(CELL("filename",A1),3),1)="年",
 TEXT(RIGHT(CELL("filename",A1),7)*1+31,"yyyy年m月~")&TEXT(RIGHT(CELL("filename",A1),7)*1+366,"yyyy年m月"),
 TEXT(RIGHT(CELL("filename",A1),8)*1+31,"yyyy年m月~")&TEXT(RIGHT(CELL("filename",A1),8)*1+366,"yyyy年m月"))
ではどうでしょうか。
    • good
    • 0

No.3さんが、


>シート名が必ず「yyyy年mm月」の形式で入力されることが前提です。
という前提で数式をお示しになっていますが、上記の前提なら、

=TEXT(RIGHT(CELL("filename",A1),8)*1+31,"yyyy年mm月~")&TEXT(RIGHT(CELL("filename",A1),8)*1+366,"yyyy年mm月")

月が一桁のときは頭に0を付けなくてよいなら、

=TEXT(RIGHT(CELL("filename",A1),8)*1+31,"yyyy年m月~")&TEXT(RIGHT(CELL("filename",A1),8)*1+366,"yyyy年m月")

というさらに短い数式で足りるのではないでしょうか
    • good
    • 0

セルでの表示はTEXT関数の引数を変えればyyyy年m月でもできます。

    • good
    • 0

Excelのバージョンは? それ次第です。


=LET(_fp,CELL("filename",B9),_sn,REPLACE(_fp,1,FIND("]",_fp),""),TEXT(EDATE(_sn,1),"yyyy年m月~")&TEXT(EDATE(_sn,12),"yyyy年m月"))

LETが使えなければ その分長くなるでしょう。
    • good
    • 0

こんにちは



シート名を関数で取得するだけで、それなりの面倒な処理になります。
それを繰り返すので、一発でやろうとするとかなりの長い式になってしまいますが・・・
(どこかのセルに、一旦、シート名を記載できれば全体は簡単になります)

B9セルに
=TEXT(DATE(YEAR(DATEVALUE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]", CELL("filename",A1))))),MONTH(DATEVALUE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]", CELL("filename",A1)))))+1,1),"yyyy年mm月~")&TEXT(DATE(YEAR(DATEVALUE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]", CELL("filename",A1)))))+1,MONTH(DATEVALUE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]", CELL("filename",A1))))),1),"yyyy年mm月")
を入力すれば可能と思います。

※ シート名の形式のチェック処理等は一切行っていません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
工夫、駆使すればいかようにもできますね。
非常に参考になります。

短いに越したことはなく、
No.3の方を活用させて頂きました。

お礼日時:2021/10/01 17:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!