タイトルの通り「cell("filename")」でシート名を取得していたんだけど、そのシートをコピーして、元のシートを見ると…
新しいシートのシート名に更新されてる(゚д゚)ガーン
おいおい、っと思い、元のシートを更新するともとに戻る。
っが、今度は新しいシートのほうが(´;ω;`)

っという状態に陥って、もうあきらめて元のシートのほうは「コピー→値のみ貼り付け」としてごまかしていた。

んだけど、ようやく原因がわかったので、メモ。

原因は第2引数を省略したこと。ヘルプに書いてある。
この引数を省略した場合、最後に変更されたセルについて、"検査の種類" 引数に指定した情報が返されます。


またしても、ヘルプ嫁。。。


さて、なぜシート名を取得しているか、というと。
毎月作らなければならない書類があって、シートを増やしていくわけだが、いちいち日付を1月ずつ足して入力しなければならないのがウットオシクて(←なぜか変換できない←ナツカシス)、自動化できないかなぁ、と。
まあ、自動化ではないんだけど、どうせシート名は入力するわけだし、それを利用できれば、1箇所の変更で済むよね。っというわけ。
シート名は自分で勝手に付ける訳だから書式は固定できるから、YYYYMM形式にしておいて、何文字目から何文字目までが年で、月で、として、mid関数で切り取ってdate関数に渡す。これだけ。

ワタクシメが使用しているモノを晒してみます。

=DATE(MID(CELL("filename",A1),LEN(CELL("filename",A1))-5,4),MID(CELL("filename",A1),LEN(CELL("filename",A1))-1,2),1)


もしお役に立てれば幸いでございまする。


もう2000年台も16年が経ち、そろそろ2桁形式でいいかな、と思う今日このごろ。
調子に乗って2桁形式版も貼っておきますね。

=DATE(2000+MID(CELL("filename",A1),LEN(CELL("filename",A1))-3,2),MID(CELL("filename",A1),LEN(CELL("filename",A1))-1,2),1)


2100年になったら2000のところを2100に代えてね\(^o^)/

…2100年になってもまだexcelって使われているんだろうか(-_-;)?