Excelファイルのファイルパスからファイル名を抽出する必要がある場合があります。ファイルパスのリスト全体があり、それぞれの拡張子が付いたファイル名のみが必要な場合があります。これを手動で行うのは面倒です。これは、Excelの数式を使用して非常に簡単に行うことができます。

列Aにファイル名のリストがあることを考えると、

img1

そして、独自の拡張子を持つファイル名のみを抽出し、次の式を使用します–

img2

出力は次のようになります–

img3

したがって、ファイルパスの長さに関係なく、出力はファイル名として取得されます。ここで、この式を理解しましょう–したがって、式はMID関数を評価しようとし、この関数の各パラメーターは他の関数を使用して完了します。 MID関数の構文は_ = MID(text、start_num、num_chars)です。_ここで、式の残りの部分がどのように適合するかを見てみましょう– = MID(A2、FIND( “”、SUBSTITUTE(A2、 “\”、 ” “、LEN(A2)-LEN(SUBSTITUTE(A2、” \ “、” “))))+ 1、LEN(A2))

Len(A2)が最初に評価され、文字列全体の長さが19になります。

MID(A2、FIND( “”、SUBSTITUTE(A2、 “\”、 “”、LEN(A2)-LEN(SUBSTITUTE(A2、 “\”、 “”))))+ 1、LEN(A2))

次に、LEN(SUBSTITUTE(A2、” \”、””))が評価されます。置換関数はすべての\を空のスペースに置き換え、len関数は17に等しい長さを計算します。

したがって、LEN(A2)-LEN(SUBSTITUTE(A2、 “\”、 “”))は2を返します。

これで、関数は= MID(A2、FIND( “”、SUBSTITUTE(A2、 “\”、 “”、2))+ 1、LEN(A2))のようになります

次に評価される部分は、以下で強調表示されているとおりです= MID(A2、FIND( “”、SUBSTITUTE(A2、 “\”、 “”、2))+ 1、LEN(A2))

「\」の2 ^ nd ^インスタンスから、置換関数は\を。に置き換えます。したがって、関数は= MID(“ B:\ Files \ File1.xlsx”、FIND( “”、” B:\ Files * File1.xlsx”)+ 1、LEN(A2))

のようになります。次に評価される部分は、検索関数です-= MID(“ B:\ Files \ File1.xlsx”、FIND( “”、” B:\ FilesFile1.xlsx”)+ 1、LEN(A2))

これにより、出力は9 + 1 = 10になります(+1は、カウントの*を除外するためのものです)。

これで、関数は= MID(“ B:\ Files \ File1.xlsx”、10,19)のようになります。そこで、10 ^番目の文字から始まる文字列「B:\ Files \ File1.xlsx」から19文字を取得するMID関数に絞り込みました。そして、出力をFile1.xlsxとして取得します。

これは、この多関数式がどのように機能し、出力を提供するかです。