メインコンテンツへスキップ

Excelでパスからファイル名を抽出する

Author: Siluvia Last Modified: 2025-08-06

このチュートリアルでは、Excelの特定のセルにあるファイルパスから拡張子付きまたは拡張子なしのファイル名を抽出するために数式を適用する方法について説明します。

doc-extract-filename-frompath-1

拡張子付きのファイル名をパスから抽出する
拡張子なしのファイル名をパスから抽出する


拡張子付きのファイル名をパスから抽出する

以下のスクリーンショットに示すように、異なるファイルパスが含まれるリストがあり、それらから拡張子付きのファイル名のみを抽出したい場合、次の数式が問題解決に役立ちます。

doc-extract-filename-frompath-2

汎用数式

=MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))

引数

A1: ファイルパスが含まれているセルを表し、そこからファイル名を抽出します。

この数式の使用方法は?

1. ファイル名を出力するための空白セルを選択します。ここでは、セルD3を選択します。

2. そのセルに以下の数式を入力し、Enterキーを押します。結果のセルを選択し、塗りつぶしハンドルを下までドラッグして他のセルにも適用します。

=MID(B3,FIND("*",SUBSTITUTE(B3,"\","*",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))+1,LEN(B3))

doc-extract-filename-frompath-3

これで、特定のファイルパス内の拡張子付きのすべてのファイル名が上記のスクリーンショットのように抽出されました。

注意:

  • この数式では、B3はファイルパスが含まれているセルです。必要に応じて変更してください。
  • ファイル名が99文字以下の場合、以下の短い数式でも問題を解決できます。以下のスクリーンショットをご覧ください。
    =TRIM(RIGHT(SUBSTITUTE(A2,"\",REPT(" ",100)),99))
    doc-extract-filename-frompath-4

この数式はどのように機能しますか?

=MID(B3,FIND("*",SUBSTITUTE(B3,"\","*",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))+1,LEN(B3))

1. FIND("*",SUBSTITUTE(B3,"\","*",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))

  • LEN(B3): LEN関数は「D:\\files\work\Q1\Jan\text.txt」の全長を計算し、結果として30を返します。
  • LEN(SUBSTITUTE(B3,"\","")): SUBSTITUTE関数は文字「\」を何も置き換えません。結果は「D:filesworkQ1Jantext.txt」になります。そしてLEN関数は「D:filesworkQ1Jantext.txt」の全長を計算し、結果として24を得ます。
  • SUBSTITUTE(B3,"\","*",30-24): SUBSTITUTE関数は「D:\\files\work\Q1\Jan\text.txt」の三番目の文字(30-24=6)「\」を単一の文字「*」に置き換えます。ここで結果は「D:\\files\work\Q1\Jan*text.txt」です。
  • FIND("*","D:\\files\work\Q1\Jan*text.txt"): FIND関数は「D:\\files\work\Q1\Jan*text.txt」内の文字「*」の位置を見つけ、最終的に22を返します。これは「*」が「D:\\files\work\Q1\Jan*text.txt」の22番目の位置にあることを意味します。

2. =MID(B3,22+1,LEN(B3))

  • 上記の説明の通り、LEN(B3)は結果として30を返します。ここでMID関数は=MID("D:\\files\work\Q1\Jan\text.txt",23,30)と表示されます。これはMID関数が「D:\\files\work\Q1\Jan\text.txt」という文字列から23番目から始まる30文字を抽出することを意味します。ここで結果はtext.txtです。

拡張子なしのファイル名をパスから抽出する

別の状況として、以下のスクリーンショットに示すように、パスから拡張子なしのファイル名だけを抽出したい場合があります。このセクションでは、それを実現するための長い数式を提供します。

doc-extract-filename-frompath-5

汎用数式

=IFERROR(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,FIND(CHAR(1),SUBSTITUTE(A1,".",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))-FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))-1),"")

引数

A1: ファイルパスが含まれているセルを表し、そこからファイル名を抽出します。

CHAR(1): ここでのCHAR(1)は必要に応じて任意のCHAR番号に置き換えることができます。また、引用符で囲まれた特定の記号(例:"*")に置き換えることもできます。

この数式の使用方法は?

1. 拡張子なしのファイル名を出力するための空白セルを選択します。

2. そのセルに以下の数式を入力し、Enterキーを押します。結果のセルを選択し、塗りつぶしハンドルを下までドラッグして他のセルにも適用します。

=IFERROR(MID(B4,FIND(CHAR(1),SUBSTITUTE(B4,"\",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,"\",""))))+1,FIND(CHAR(1),SUBSTITUTE(B4,".",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,".",""))))-FIND(CHAR(1),SUBSTITUTE(B4,"\",CHAR(1),LEN(B4)-LEN(SUBSTITUTE(B4,"\",""))))-1),"")

doc-extract-filename-frompath-6

注意: この数式では、B3はファイルパスが含まれているセルです。必要に応じて変更してください。


関連する関数

Excel MID関数
Excel MID関数は、指定されたテキスト文字列の中間から特定の数の文字を見つけて返すために使用されます。

Excel FIND関数
Excel FIND関数は、ある文字列内にある別の文字列を探し、その文字列の開始位置を返します。

Excel SUBSTITUTE関数
Excel SUBSTITUTE関数は、テキスト文字列内のテキストや文字を別のテキストや文字に置き換えます。

Excel LEN関数
Excel LEN関数は、テキスト文字列内の文字数を返します。

Excel IFERROR関数
IFERROR関数は、数式がエラーを評価した際にカスタム結果を返し、エラーがない場合は通常の結果を返します。


関連する数式

セルから複数行を抽出する
改行で区切られたテキスト文字列のリストがある場合(Alt + Enterキーを押してテキストを入力すると改行が発生します)、これらの行を複数のセルに抽出したい場合、このチュートリアルの数式が役立ちます。

複数行のセルから最後の行を抽出する
改行で区切られたテキスト文字列から最後の行を抽出するには、このチュートリアルの数式がExcelでのタスクを処理するのに役立ちます。

Excelでテキスト文字列からN番目の単語を抽出する
この記事では、Excelのセル内のテキスト文字列から特定のN番目の単語を抽出するための数式の使用方法について説明します。

Excelでセルから最後の2つの単語を抽出する
このチュートリアルでは、Excelのセルから最後の2つの単語を抽出するための数式の使用方法について説明します。

Excelで特定の文字で始まる単語を抽出する
このチュートリアルでは、Excelのセル内のテキスト文字列から特定の文字で始まる単語を抽出するための数式と詳細な手順を提供します。

最初または最後以外のすべての単語を抽出する
このチュートリアルでは、Excelのセルから最初または最後の単語以外のすべての単語を抽出するための数式の使用方法について学びます。


最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。