- ベストアンサー
エクセル関数を使ってこんな事できますか?
どなたかご存知の方がいらっしゃったら教えてください。 各セルに、下記の様なテキストが入力してあったとします。 A B C D 山 川 海 太陽 川 海 山 太陽 Aの中から、B、Cに入力されているテキストを削除してDに表示 させることってできるのでしょうか? その場合、Dにはどんな数式を入れたらよいのでしょうか? 知っている方、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
=SUBSTITUTE(SUBSTITUTE(A1,B1,""),C1,"") こんな感じかな? スペースが邪魔ならTRIMを一つ先頭に入れましょう。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
REPLACE関数を使ってみた =REPLACE(REPLACE(A1,FIND(B1,A1),LEN(B1)+1,""),FIND(C1,REPLACE(A1,FIND(B1,A1),LEN(B1)+1,"")),LEN(C1)+1,"") 質問の2文字か3文字(語句)が(常識的な式の長さ・ネスト)から限度でしょう。 それ以上はVBAで処理となる。 ーー #1のご回答と似ているが、少し違うのを挙げてみる。 最右の「太陽」に当たる語句の処理にTrimが必要だが 原理的には語句+1スペースを単位にして、空白に置換でしょうから。 SUBSTITUTEでも =TRIM(SUBSTITUTE(SUBSTITUTE(A1&" ",B1&" ",""),C1&" ","")) というのもある。
お礼
imogasiさま ご回答いただきましてありがとうございました。 テキストなんですが、実際はすごく長いのがあったりして 試したのですが思うようにできませんでした。 VBAに関しても、知識不足から対応できず。 これに懲りずに、またよろしくお願いいたします。
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
=LEFT(A1,FIND(B1,A1)-1)&RIGHT(A1,LEN(A1)-(LEN(B1)+FIND(B1,A1)-1)) Cの文字の位置を探し、その前後を繋いでます Cは1文字でなくても2文字、3文字でもOK
お礼
l4330さま ご回答いただきましてありがとうございます。 試したのですが、いまいちうまくいかず……。 関数の知識がイマイチのため、せっかく回答いただいたのに 活用する術がわかりませんでした。 これにこりず、またよろしくお願いいたします。
お礼
suekunさま 回答ありがとうございました。 早速試したら……上手くいきました。助かりました! またよろしくお願いいたします。