Excelでファイルパスを取得する
Excel ファイルのパスを取得するには、CELL 関数を他の 3 つの関数 (LEN、SEARCH、SUBSTITUTE) とともに使用する必要があります。 CELL は、ファイル名やワークシート名を含む完全なファイル パスを取得するのに役立ちます。そして、残りの関数を使用して、そこからファイル パスだけを抽出する必要があります。

このチュートリアルでは、3 つの異なる方法でファイル パスを取得する方法を説明します。
重要:これらの数式を使用する前に、必ず Excel ファイルを保存してください。どこかに保存しない限り、ファイルパスを取得することはできません。
ファイル名とシート名を含むパスを取得します
以下の手順を使用できます。
- まず、ワークブックを保存し、名前を付けます。
- その後、セルにCELL関数を入力します。
- そこから、info_type「filename」を選択し、参照を空白のままにします。
- 最後に、関数を閉じて Enter キーを押して結果を取得します。
=CELL("filename")
Enter キーを押すと、ワークブック名とシート名を含むファイル パスが結果として返されます。

ワークブック名のみを使用してパスを取得する
この状況では、パスからシート名を削除する必要があります。そのためには、LEFT、SEARCH、SUBSTITUTE を使用する必要があります。

=SUBSTITUTE(LEFT(CELL("filename"),SEARCH("]",CELL("filename"))-1),"[","")
この式を理解するには、次のように分ける必要があります。
- 最初の部分では、セルに CELL 関数を入力し、info_type 引数にファイル名を使用します。
- 次に、SEARCH 関数を使用して、フルパスから右括弧「]」の位置を取得します。
- その後、SEARCH によって返された位置を使用して、LEFT を使用して、終了括弧の後の部分を除くパスの残りの部分を取得する必要があります。
- 次に、REPLACEMENT を使用して開始メディアを置き換える必要があります。
- 最後に、セル A1 を参照する代わりに、それを現在の CELL 関数に置き換えます。
ファイルパスのみを取得する
ここで、フォルダー名へのパスのみが必要だとします。これを行うには、CELL を SUBSTITUTE、LEN、RIGHT、および SEARCH 関数とともに使用する必要があります。
=SUBSTITUTE(CELL("filename"), RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("[",CELL("filename"))+1),"")

この式を理解するには、次のように分ける必要があります。
- まず、セルに CELL 関数を入力し、ファイル名 info_type を使用します。
- 次に、SEARCH 関数を使用して開始括弧の位置を取得し、それに 1 を加えます。
- その後、LEN 関数を使用して、パス内の合計文字数を取得します。そして、SEARCH によって返された位置番号からそれを減算します。
- 次に、RIGHT 関数を使用して、フルパスからファイル名とシート名を取得します。右側では、フルパスを参照し、[char_num] に対して LEN と SEARCH を減算して返された数値を使用します。
- そこから、REPLACEMENT を使用して、ファイル名とワークシート名を元のパスの空の値に置き換えます。
- 最後に、数式のセル参照 A1 をセル A1 にある CELL 関数に置き換えて、1 つの数式にまとめます。
Excelファイルを取得する
ダウンロードExcelの数式一覧
関連する式
- Excelで水平フィルタを作成する
- Excel で星評価テンプレートを作成する
- Excelでファイル名を取得する
- Excelでシート名を取得する
- Excel でランダムな文字をすばやく生成する