Excel 数式でファイル名からパスを抽出
フルパスとファイル名からパス部分を抽出したい場合は、LEFT 関数、FIND 関数、SUBSTITUTE 関数、LEN 関数を組み合わせた数式をご利用いただけます。この数式はやや長くなりますが、本チュートリアルではその動作原理を詳しく解説します。
汎用的な数式:
| LEFT()path,FIND(「?」,SUBSTITUTE())path,「\」,「?」,LEN()path)-LEN(SUBSTITUTE()path,「\」,「」))))) |
引数
| Path: the cell reference or text string contains file path and file name. |
この数式の動作原理
例として、セル B3(フルパスとファイル名を含む)からパス部分を抽出するには、次の数式をご利用ください。
| =LEFT(B3,FIND(「?」,SUBSTITUTE(B3,「\」,「?」,LEN(B3)-LEN(SUBSTITUTE(B3,「\」,「」))))) |
キーを押してEnterし、セルからパスを抽出します。
解説
フルパスとファイル名からパスを抽出するには、まず LEN 関数と SUBSTITUTE 関数で「\」の出現回数をカウントし、次に SUBSTITUTE 関数を使って最後の「\」を特殊文字「?」に置き換え、最後に FIND 関数と LEFT 関数で「?」の位置を特定してパスを抽出します。
LEN 関数は、テキスト文字列内の文字数を返します。
SUBSTITUTE 関数は、古いテキストを新しいテキストに置き換えます。
数式 LEN(B3)-LEN(SUBSTITUTE(B3,「\」,「」))で、「\」の文字数をカウントできます。
| =LEN(B3)-LEN(SUBSTITUTE(B3,「\」,「」)) =LEN(B3)-LEN(“C:UsersAddinTestWin10Documentsdescription.xlsx”) 50-46 =4 |

SUBSTITUTE(B3,「\」,「?」,LEN(B3)-LEN(SUBSTITUTE(B3,「\」,「」)))は、4 番目の「\」を「?」に置き換えます。
| =SUBSTITUTE(B3,「\」,「?」,LEN(B3)-LEN(SUBSTITUTE(B3,「\」,「」))) =SUBSTITUTE(B3,「\」,「?」,4) =C:\Users\AddinTestWin10\Documents?description.xlsx |

FIND 関数は、ある文字列内から別の文字列を検索し、その文字列が含まれる開始位置を返します。
数式 FIND(「?」,SUBSTITUTE(B3,「\」,「?」,LEN(B3)-LEN(SUBSTITUTE(B3,「\」,「」))))は、テキスト文字列「C:\Users\AddinTestWin10\Documents?description.xlsx」内で「?」の位置を検索します。
| =FIND(「?」,SUBSTITUTE(B3,「\」,「?」,LEN(B3)-LEN(SUBSTITUTE(B3,「\」,「」)))) =FIND(「?」,「C:\Users\AddinTestWin10\Documents?description.xlsx」) =34 |

LEFT 関数は、指定されたテキストの左端から固定長の部分文字列を抽出します。
| =LEFT(B3,FIND(「?」,SUBSTITUTE(B3,「\」,「?」,LEN(B3)-LEN(SUBSTITUTE(B3,「\」,「」))))) =LEFT(B3,34) =C:\Users\AddinTestWin10\Documents\ |

サンプルファイル
関連する数式
- 指定文字まで右から抽出
ここでは、指定されたテキストの右端から特定の文字までを抽出する数式をご紹介します。 - ファイル名から拡張子を抽出
ここでは、ファイル名から拡張子を別の列に抽出するための数式をご紹介します。 - パスからファイル名を抽出
Excel の特定のセルに記載されたファイルパスから、拡張子の有無にかかわらずファイル名を抽出する数式の使い方を解説します。 - 電話番号にダッシュを追加
Excel で数式を使えば、電話番号に簡単にダッシュを追加できます。
- LEFT 関数
テキストの先頭(左端)から指定された文字数の部分文字列を抽出します。 - SUBSTITUTE 関数
テキスト文字列を別の文字列に置き換えます。 - LEN 関数
テキスト内の文字数をカウントします。 - SEARCH 関数
指定されたテキスト文字列内で、特定の文字や部分文字列がどこにあるかを検索します。 - FIND 関数
指定した文字列の中から、別の文字列を検索します。
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。