• ベストアンサー

EXCELでフルパスから2つ目¥を抽出したい

EXCEL2010を使用しています。 フルパスから、2つめの¥で区切って列に表示したいです。 例えば、A1セルに C:\Users\hanako\Desktop\test が入力されているので、 A1セルにC:\Users\ B1セルにhanako\Desktop\test のように、区切りたいのです。 ご教示の程、どうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんばんは。 A1セルにあって、A1セルに出力するというと、マクロになってしまいますので、 B1,C1と出すことにしますと、 B1: =MID(A1,1,FIND("*",SUBSTITUTE(A1,"\","*",2))) 「*」は、パスに使っていない文字を選びました。 (「\」バックスラッシュは、パスセパレータの「¥」です) C1: =SUBSTITUTE(A1,B1,"")

zero2012
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 お蔭様で、無事抽出することができました。 今後とも、どうぞよろしくお願いいたします。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>A1セルに >C:\Users\hanako\Desktop\test >が入力されているので、 >A1セルにC:\Users\ というのは関数では無理ですので、 B1セルにC:\Users\ C1セルにhanako\Desktop\test という様に、結果を表示させるセルを変更するものとします。  又、もしも、A1セルに入力されている文字列の中に「\」を2個以上含まれていなかったり、A1セルが空欄であったりした場合にも、エラー表示を出さない様にするものとします。  又、C1セルの値は、B1セルの結果が無くとも、独立して求める事が出来る様にするものとします。  その場合、B1セルの関数は次の様になります。 =IF(A1="","",IF(COUNTIF(A1,"*?\*?\*"),LEFT(A1,FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),2))),"「分割不能」"))  そして、C1セルの関数は次の様になります。 =IF(A1="","",IF(COUNTIF(A1,"*?\*?\*?"),REPLACE(A1,1,FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),2)),),"「分割不能」"))

zero2012
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 詳細にお教えいただき、感謝いたします。 今後とも、どうぞよろしくお願いいたします。

noname#203218
noname#203218
回答No.1

A1にC:\Users\hanako\Desktop\testであればB、C列に関数を入力するものとしました。 B1=LEFT(A1,FIND("\",A1,FIND("\",A1,1)+1)) C1=SUBSTITUTE(A1,B1,"")

zero2012
質問者

お礼

お礼が大変遅くなり、申し訳ありませんでした。 No.2の方の方法で、解決いたしました。 また、どうぞよろしくお願いいたします。

関連するQ&A