エクセルexcel シート名をセルに取得する
エクセルで週予定を作っている。月曜日の日付をシート名にしている。例えば2024/12/16月曜日から始まる週は、1216というシートに入力している。
そんなに手間ではないのだが、シート名から月日を取得できたらいいな。1216というシート名を手入力する。
もちろんAlt→H→O→M、Alt→H→O→Rというショートカットを使っている(前者は「移動またはコピー」、後者は「(シート)名前の変更」)。
以前日付を打つのを忘れて、作り直したことがあった。それを防ぎたいな。
やってみよう。「1216」で説明します。
シート名を取得するには =cell("filename",A1)でいいらしい。"filename"はおまじない、A1はどこでもいい捨て引数。移動してレファエラーが出ないように、「$A$1」と絶対参照にしておくとよい(F4を何度か押す)。
フルパス+シート名が得られた。
シート名は四桁という規則だ。例えば1月1日は「0101」。だからright関数で右四文字、「1216」が得られる。
「1216」の左2文字をleft関数で「12」。フルパス+シート名の右2文字をright関数で「16」。
あとはconcatenate関数(コンカテネート、コンカテと勝手に呼んでいるが、いいのかな)で「12」,"/",「16」と連結する。
ちゃんと「12/16」と表示された。
ただ「表示形式」で「3月14日」を選択しても「○月★日」になってはくれない。
「12/16」に+1しても「12/17」になってはくれない。ただの文字列なのだ。
さあどうする。検索。datevalue関数というものがある。文字列を日付に直してくれる。それだよ。
できました!
=DATEVALUE(CONCATENATE(LEFT(RIGHT(CELL("filename",$A$1),4),2),"/",RIGHT(CELL("filename",$A$1),2)))
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- CDに画像データを書き込むときパスを付けない方法(2025.05.26)
- エクセルexcel シート名をセルに取得する(2024.12.16)
- ニフティ35周年に寄せて(2022.08.01)
- ハードディスク整理・ソフトウェアあれこれ2022上半期(2022.07.08)
- DVDコピー2022(2022.01.22)
コメント