« 体重78.2kg 19.7%・ウヰスキー646 | トップページ | 能代自衛隊音楽隊ツアー(前編) »

エクセル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)))


|

« 体重78.2kg 19.7%・ウヰスキー646 | トップページ | 能代自衛隊音楽隊ツアー(前編) »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 体重78.2kg 19.7%・ウヰスキー646 | トップページ | 能代自衛隊音楽隊ツアー(前編) »