- ベストアンサー
1つのセルにある長い文字列を、¥で区切られたところで複数セルに文割表示させたい
ファイルやフォルダのパスを書くときなどには、C:\Documents and Settings\owner\Application Data\Skype、などのように、¥で区切られています。 ここで、¥のところで分割して、複数のセルに分割表示できればと思います。 こちらでは、excel2003を使っていますが、a1のセルに、C:\Documents and Settings\owner\Application Data\Skype、と入れると、b1にはc:、c1には、Documents and Settings。 D1には、owner、e1には、application data、f1には、skype、というようにできると助かります。 フルパスの長さは一定していませんので、長いフルパスではたくさんのセルを使っても全部の文字列をしっかり分割表示してほしいのです。 フルパスのときもそうですが、これを、レジストリーエディタの、キー名でも使えると助かります。 これが実現できる関数の組み合わせがあるでしょうか。 それとも、マクロでなければ無理でしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
あっ 最初のC: 忘れた(^^; =LEFT(A1,FIND("\",A1&"\")-1)
その他の回答 (2)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
根性?で数式案 =MID($A1,FIND("|",SUBSTITUTE($A1&"|","\","|",COLUMN(A1)))+1, MAX(0,FIND("|",SUBSTITUTE($A1&"|","\","|",COLUMN(B1))) -FIND("|",SUBSTITUTE($A1&"|","\","|",COLUMN(A1)))-1)) 右へオートフィル 「\」を「|」に置き換えて検索し抽出している
- keibo3
- ベストアンサー率21% (6/28)
エクセル→データ→区切り位置 でその他に\を入力してあげるとうまくいくと思います。 関数使わなければ駄目ですか?
お礼
ご解答ありがとうございます。 そう、区切り位置を使うという方法がありましたね。 このときに¥で区切るのにどうしたらいいか、と思ったときもありました。 その他を使うということに気がつきませんでした。 確かにやってみますと、¥をその他で入力するとうまく行きます。 ありがとうございます。 ひとつのフルパス、それから、キー名をまるごと一度貼り付けただけで、目的のセルに途中のフォルダ名やキー名を表示させられると、それはとても便利です。 そのセルは、必ずしもとなり同士に並んでいるとは限らないもので、それをどうしたら実現できるかと思いました。 それから、はじめにa1に貼り付けた長いままのフルパスもそのまま利用したいと思いましたので、そこも考えていました。 どうしても関数でなければいけないとも限りませんでしたので、質問を投稿した後で、少し書き方を間違えたと思いました。 しかし、とても参考になりました。
お礼
ご解答ありがとうございます。 そうです、これこそ自分でやってみたかったことです。 しかし、excelをよく理解できていないため、関数を思いつきませんでした。 やはり、難しい組み合わせだったように自分では思います。 大作を考えていただきましてありがとうございました。 a1にパスを貼り付けたときには、b1に、 =LEFT(A1,FIND("\",A1&"\")-1) これを貼り付けて、それからc1には、 =MID($A1,FIND("|",SUBSTITUTE($A1&"|","\","|",COLUMN(A1)))+1,MAX(0,FIND("|",SUBSTITUTE($A1&"|","\","|",COLUMN(B1)))-FIND("|",SUBSTITUTE($A1&"|","\","|",COLUMN(A1)))-1)) これを貼り付けて右にフィルハンドル、表示できました。 パソコン操作を説明するとき、同じパターンの文章が何度も続くことがあり、ひながたを作ってしまうのが便利かと思って、その役に立てようというのが今回の本音でした。