- ベストアンサー
セル内の文字列に複雑な処理をしたい
セルの中の複数の異なる文字列を以下のように処理したいのですが、Excelの標準の文字列操作の関数で試行錯誤してみたのですが、どうもうまくできませんでしたので、ご存知の方がいらっしゃいましたらご教授ください。VBAで処理しないとできないかもしれませんがよろしくお願いします。 あるリストのC列に備考欄が設けてあり、次のようなデータが入っています。 4/30 みかんを買った(強制改行して) 5/1 りんごを売った 5/2 ぶどうを食べた 5/5 すいかを買った このセルを調べて、 (1) セル内に"みかん"と"りんご"という文字列があったら、これを取り出して、右隣のセルに表示 (結果)⇒ みかん りんご (2) セル内に"みかん"と"りんご"という文字列があったら、これを"A","B"に置き換えて、右隣のセルに表示 (結果)⇒ A B (3) セル内の数値データと"を食べた"、"を買った"、"を売った"を取り除いて、右隣のセルに表示 (結果) ⇒ みかん りんご ぶどう すいか (4) セル内に"か"を含む文字列があったら個数に関係なく"A"に置換して右隣のセルに表示 (結果) ⇒ A すべて取り出したい文字列(上の例ではみかん、りんご)や置換したい文字列(A、B)以外の文字列は全てクリアして表示しないようにします。少し複雑ですが、やり方をご存知の方がいらっしゃいましたら、お教えください。
お礼
janmaさん、ご回答ありがとうございます。関数だけでもこのような処理ができるとは、本当に勉強になりました。janmaさんがご教授くださった関数を解析しようと関数を調べまくりました。その間何度「なるほど~~」と発したことでしょう!!こういう関数の組合せはよく使われる手法なのでしょうか?それともjanmaさんの豊富なご経験からすっと思い描かれるものなのでしょうか?いずれにしても、いろいろ困難なことに突き当たるたびに得るものは大きいなぁと重い知らされました。これからも、1つ1つ解決して知識を身に付けていきたいと思います。本当にありがとうございました。今後もまた何かありましたら、ご教授を賜りたいと思いますので、よろしくお願いします。