<広告>

Excel Excel関数 自動化

【Excel】ファイル名の一部をセルに表示する

年ごとにファイルを作る時は、ファイル名の後ろ(拡張子の前)に西暦の数値を入れてファイルを作成します。

ファイル名に西暦を入れている
ファイル一覧

↑こんな感じでファイルを保存していますが、ズボラな私は、このファイルの中身のセルに西暦を入力するのさえ面倒

いくつものセルに西暦を入れないといけない場合は、入れ忘れる時もあるし・・・。

どうにか自動で西暦が入らないかな?」と考えた私。

そうだ! ファイル名から取得しよう!

どうせファイル名には必ず西暦をつけるし! ナイスアイデア!!

ということでやってみました。

投稿者「みか」自己紹介

  • パソコンとデータベースが大好き
  • 自社でネットワーク・システム・機器管理、Webサイト構築
  • 自社向けのシステムをMicrosoft AccessやPHPで多数構築
  • Excelでの作業はVBAを使って効率化
  • ロックバンド「VARS」でベース担当
  • 「VARS」のWebサイト、ブログも構築
  • 「VARS」のライブを観に来てね!https://vasofatum.jp/live/

CELL」「RIGHT」「SUBSTITUTE」関数でファイル名の一部をセルに表示

ファイル名を取得するには「CELL関数」が便利!

=CELL("filename")

と入力すると、ファイルのパスからシート名まで取得、表示されます。

CELL関数でセルにファイル名を表示

この「CELL」関数、そして「RIGHT」関数、「SUBSTITUTE」関数を利用して、西暦のみをセルに表示します。

ファイル名は[]で囲まれているので、「RIGHT」関数を使って ] の左の拡張子の左6文字分を取得し、「SUBSTITUTE」関数で不要な部分を置換後、右から4文字分を取得し表示します。

※6文字を足す理由は .xlsx] も含めるため

=RIGHT(SUBSTITUTE(CELL("filename"),RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename"),1)+6),""),4)

ファイル名の一部をセルに表示

ファイル名の一部がセルに表示されました。

「CELL」「RIGHT」「SUBSTITUTE」関数の使い方の解説

中央付近の「RIGHT」関数は、ファイル名の ] から左へ6文字分までの文字を取得しています。

結果:.xlsx]Sheet1

=RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename"),1)+6)

「SUBSTITUTE」関数は、ファイル名から上の「RIGHT」関数で取得した文字を "" に置換しています。

結果:C:\Users\admin\Desktop\テスト[あいうえお2026

=SUBSTITUTE(CELL("filename"),RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename"),1)+6),"")

一番左の「RIGHT」関数は、上の「SUBSTITUTE」関数で取得した文字の右から4文字(西暦の部分)を取得しています。

結果:2026

=RIGHT(SUBSTITUTE(CELL("filename"),RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename"),1)+6),""),4)

これで面倒な西暦は入力しなおす手間が省けました。

こういう小さい部分も自動化しておくと、面倒でもないし、単純ミスも防ぐことができます(^^)/

<広告>

-Excel, Excel関数, 自動化
-, , , , ,