Excelでフルパスからファイル名やパスを取得する方法を知りたい!なぜなら…。
手作業でファイル名やパスを抽出するのが面倒で時間がかかる!監査対応などで正確な情報を提供したい!って思いませんか?

当サイトではExcelについて知っておくべき情報を多数掲載しています。あわせてそちらもご覧いただくと専門的知識が得られますよ。
こちらからご覧ください→https://m32006400n.xsrv.jp/tag/excel/
Excelでフルパスからファイル名やパスを取得する方法の実務的な便利さ
実際にフルパスが実務でどう役に立つのかをいくつかシーン別でお伝えします。
正直、いまさら「Excelでファイル管理なんてw」って思ってもいい。しかし、知っておくと会社や人に合わせて対応することができるようになりますよ。
Excelでフルパスからファイル名やパスを取得する方法は、以下のような実務上の便利な場面で活用できます。
- フォルダ内のファイル一覧を簡単に作成できる。
- ファイルの保存場所を一目で確認できる。
- ファイル名の重複チェックが容易になる。
- レポート内にファイル情報を自動的に記載できる。
- ファイル名の変更に合わせてレポートの内容を自動更新できる。
- ファイルの保存場所を簡単に共有できる。
- ファイル名の命名ルールを統一しやすくなる。
- ファイルの保存場所や履歴を簡単に確認できる。
- ファイル管理の透明性が高まる。
このように、Excelでフルパスからファイル名やパスを取得する方法は、ファイル管理やレポート作成、情報共有、監査対応など、実務上の様々な場面で活用できる便利な機能です。
フルパスからファイル名を取得する方法
フルパスからファイル名を取得する方法は関数の組み合わせで可能です。
まず、B2セルにフルパスを記述してから、以下の関数を使用します。
/* 関数例 */
=RIGHT(A1, LEN(A1)-FIND(">",SUBSTITUTE(A1,"/","-",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))))
UNIXバージョンであれば、上記の関数でファイル名のみを取得できます。
Windowsバージョンだと”\\”を利用して同様の処理が可能ですので、使用しているOSや取得したいデータに応じて適宜変更してくださいね。
本記事をご覧になられている方はWindowsユーザーが多いと思いますので下記にWindowsユーザー向けの手順を記載しておきますね。
フルパスからファイル名を取得するには、以下の手順を行います。
- 対象のフルパスが格納されたセルを特定する。例えば、セルE7にフルパスが記載されているとする。
- 使用する関数は以下のようなものです。
/* 数式 */
RIGHT(E7, LEN(E7) - FIND("\\", SUBSTITUTE(E7, "\\", "\\", LEN(E7) - LEN(SUBSTITUTE(E7, "\\", "")))))
ちゃんと解説しますね。
/* 解説1 */
SUBSTITUTE(E7, "\\", "\\", LEN(E7) - LEN(SUBSTITUTE(E7, "\\", "")))
上記の式は、フルパスの最後のバックスラッシュ(\)の位置を特定します。
/* 解説2 */
FIND("\\", ...)
FINDで最後のバックスラッシュの位置を取得します。
/* 解説3 */
LEN(E7) - FIND("\\", ...)
LEN関数とFIND関数で、最後のバックスラッシュ以降の文字数を取得する。
/* 解説4 */
RIGHT(E7, ...)
RIGHT関数で、最後のバックスラッシュ以降の文字列(ファイル名)を取得する。こんな感じです。
パスのみを取得する方法
パスのみを取得するのも関数を使います。
例えば、セルE7にフルパスが記載されているとします。
/* 数式 */
LEFT(E7, FIND("\\", SUBSTITUTE(E7, "\\", "\\", LEN(E7) - LEN(SUBSTITUTE(E7, "\\", ""))) , 1) - 1)
この関数は、フルパスからパスのみを抽出することができます。
これだけだと、わかりづらいと思いますので、ちょっと解説しますね。
/* 解説1 */
SUBSTITUTE(E7, "\\", "\\", LEN(E7) - LEN(SUBSTITUTE(E7, "\\", "")))
上記の関数のかたまりは、フルパスの最後のバックスラッシュ(\)の位置を特定するのに使ってます。
/* 解説2 */
FIND("\\", ...)
FIND関数で最後のバックスラッシュの位置を取得します。
/* 解説3 */
LEFT(E7, FIND("\\", ...) - 1)
LEFT関数で、最後のバックスラッシュ以前の文字列(パス)を取得します。
今回使った関数の仕組みを改めて理解しよう
今回の関数の仕組みは、フルパスからファイル名やパスを抽出するために、以下のような仕組みを使っています。
- SUBSTITUTE() 関数を使って、フルパス内の最後のバックスラッシュ(\)の位置を特定する。
- FIND() 関数を使って、最後のバックスラッシュの位置を取得する。
- LEFT() または RIGHT() 関数を使って、ファイル名やパスを抽出する。
これらの関数を組み合わせることで、フルパスからファイル名やパスを簡単に取得できるようになります。
これらの関数の基本的な考え方は、フルパスから最後の区切り文字を見つけ出し、その位置を基準に文字列を分割することです。区切り文字が「/」や「\\」でない場合は適宜変更してください。また、特定の文字列がフルパス内に含まれる場合は、エラーチェックでそのまま表示する仕組みもあります。
まとめ
Excelの関数だけでフルパスからファイル名やパスを取得する方法は、VBAを使わずに業務効率を上げるために非常に便利です。業務で必要なファイル名やパスのみの抽出を行いたい場合、ぜひこの方法を試してみてください。この記事を少しでもためになった!と思ったならコメントやSNSでみんなにシェアをしていただけるととても励みになります!これからも、ガジェットや便利ツールの情報発信していきますので、サイトをお気に入りやブックマークに入れていただけると、とっても嬉しいです(‘ω’)ノ。
ではでは、最後までご覧いただきありがとうございました。
Twitter:@Uriuri_writer
Follow @Uriuri_writer
Instagram:@uriuri_writer
Instagram
コメント