すいません、教えてください。
MSエクセルシートのA1セルとB1セルに記入されている文字の差分を、C1に書き出したいです。
エクセル関数とか出来そうな気もするのですが、分かりません。
教えて頂きたく。
B1セルの内容は、A1セルの一部分と完全一致するものに限られているのでしょうか? 別のきき方をすると、A1セルが"This is Yamada"でB1セルが"That is”となっている(B1セルの内容は、A1セルの内容の一部分ではない)というようなデータが存在する可能性はあるのでしょうか。完全に一致しない部分文字列の有無によって、解決方法が変わりますから、明らかにしてください。
早速の御回答をありがとうございます。
>B1セルの内容は、A1セルの一部分と完全一致するものに限られているのでしょうか?
はい。
完全一致する場合だけです。
従いまして、「A1セルが"This is Yamada"でB1セルが"That is”となる」様なケースはございません。
回答になっているでしょうか?
引き続き、よろしくお願いします。
もう一つ質問です。一方のセルの文字列が、もう一方の文字列に複数回含まれていることはあり得ますか? 例えば、A1セルが"This is Yamada This is"で、B2セルが"This is"。この場合、二つの文字列の差分は、"This is Yamada "と、" Yamada This is"の2種類が考えられますが、C1セルに入れたいのは、どちらでしょうか。(文字列が複数回含まれているケースでは、SUBSTITUTE関数で文字列を空文字列に置き換える方法で差分が求まりません)
早速の御回答をありがとうございます。
確かに、色々な場合が考えられますね。
ただ、今回の実データでは、"This is Yamada"がA1セルだとすると、B1セルは、必ず、"is Yamada"か"Yamada"のどちらかです。(つまり、真ん中の文字(is)がB1セルに入る事はないです。)
そう考えると、他の方が回答している様に、substitue関数 ,=Substitue(A1,B1,"") をC1に書けば良いことに気が付きました。
Substitute関数で、”A1"と記載する意味は知っておりましたが、A1と言う記載方法もあるのを知りませんでした。
お手数をお掛けしました。
解決です。(先ほど、数千行のデータを処理できました。)
ありがとうございました。

回答3件
あなたの回答
tips
プレビュー