プロが教えるわが家の防犯対策術!

Excel関数かなにかでスムーズに処理するにはあなたならどうしますか?

図にあるシートで左から右のように処理したいのですが
私の場合はどれもめんどくさい方法になってます。

「Excel関数かなにかでスムーズに処理す」の質問画像

質問者からの補足コメント

  • データ量は数百です。こうしたいと左のシートの例を手作業で作りました。
    とてもじゃないですが、膨大なデータを手作業ではしんどいです。

    みなさん回答ありがとうございます。

      補足日時:2023/12/31 15:22
  • 「左のシート」
    Van Morrison
    └─The Best of Van Morrison
    └─The Healing Game (Deluxe Edition) disc1
    └─The Healing Game (Deluxe Edition) disc2
    └─The Healing Game (Deluxe Edition) disc3

    を下の状態に処理させます。

    「右のシート」
    The Best of Van Morrison─Van Morrison
    The Healing Game (Deluxe Edition) disc1─Van Morrison
    The Healing Game (Deluxe Edition) disc2─Van Morrison
    The Healing Game (Deluxe Edition) disc3─Van Morrison

      補足日時:2023/12/31 15:36

A 回答 (5件)

こんにちは



図の内容がよく読めませんけれど、右側の4、5行目あたりは特殊なルールのようなのでそれ以外に共通のルールであるなら、関数等でも可能でしょう。
とは言え、No1様の回答にあるように、手作業でやるのが圧倒的に速いと思います。
処理する行数が万単位とかになってくると、さすがに手作業ではかったるいですし、間違えも起こしやすくなるので、関数あるいはマクロを利用なさる方が宜しいように思います。


単純に、
・「└」で始まらない行は飛ばす
・「└」で始まる行は、その直前の「└」で始まらない行を後ろに加える。
程度のルールであれば文字列で連結する関数を作成すれば済みます。
最後に、「値をペースト」すれば固定値化することも可能です。
一発でできないなら、段階に分けて順次処理するようにすれば、使用する関数も簡単になります。

ルールがよくわかりませんけれど、特殊ルールがいろいろとある場合には、関数でやろうとしても面倒になる可能性が高くなってくるので、マクロを利用したほうが簡単になると思います。


>私の場合はどれもめんどくさい方法になってます。
何を持って「めんどうくさい」と思うかは人によって異なりますので、なんとも言えませんが・・
例えば、関数を利用するなら(元データがB列と仮定)
 1)隣のC列に、直近の「└」で始まらないB列の値を表示
 2)D列には、「└」で始まる行のみB列とC列を連結して表示
 3)E列に、C列の空白行を詰めて表示
の手順程度で可能でしょう。
多少複雑でも良ければ、手順をまとめて処理することもできるでしょう。
スピル機能が使える環境であれば、FILTER関数等が利用できるので、大分簡単になると思います。

ただし、この程度でも「めんどうくさい」のであれば、「誰かほかの人にやらせる」のが、一番「めんどうくさくない」方法なのかも知れません。
    • good
    • 0
この回答へのお礼

マクロに挑戦してみます。
100近前後の行が、他にも数千とあります。
それどころか日々無限にわたしの前に出てきます。

関数でも困難だということも非常に助かりました。

お礼日時:2023/12/31 17:22

階層構造として見た時に、


下の階層の文字列の後ろに、上の階層の文字列をつける
そんな感じでしょうか。

Excelではなく、ChatGPTを使って処理できました。
形式は違うものですが、階層構造のテキストデータを用意して
「下の階層にある文字列の末尾に"-"と親階層名を追加して、結果を表示してください。」
と指示しました。
    • good
    • 0
この回答へのお礼

Thank you

お礼日時:2023/12/31 17:18

添付された図が荒くて何をしたいのか判断できませんが、自分なら、


CSVに書き出してテキストエディタで編集。

具体的に「どうなっている物をどうしたいのか」を文章として示していただければ、添付された図を参考に便利な方法をアドバイスできるかもしれません。
    • good
    • 0
この回答へのお礼

Thank you

お礼日時:2023/12/31 17:18

画像が荒くてよくわかりませんが、


私ならマクロでやるかと思います。
    • good
    • 0
この回答へのお礼

Thank you

お礼日時:2023/12/31 17:18

データの量が画像の中にある程度なら私なら手作業でやってしまいますが、データが大量にあるということですか?

    • good
    • 0
この回答へのお礼

Thank you

お礼日時:2023/12/31 17:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A