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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Siluvia Last modified

このチュートリアルでは、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 Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |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含む)にもたらします。