複数文言除去マシーン

複数文言除去マシーン

2018-12-10

ある文章のなかの特定文言を消したい、置き換えたい時、その文言が複数あった場合や、いろいろな条件がついた時にちょっとだけ楽できる方法。

使うのは、エクセルの関数。

=SUBSTITUTE(文字列, 検索文字列, 置換文字列, 置換対象)

SUBSTITUTE関数っていうのは、参照したセルの、指定した文字列を別の文字列に置き換えるものです。これを利用して、複数の文字列をできるだけ楽に消してしまおう、というのが”特定複数文言除去マシーン”なのです。

例えばこういう使い方

例:wikipedia パン (衛星) の文章からテキストとURLを抜き出したい。

ja.wikipedia.org

<p><b>パン</b> (Saturn XVIII Pan) は、<a href="/wiki/%E5%9C%9F%E6%98%9F" title="土星">土星</a>の第18<a href="/wiki/%E8%A1%9B%E6%98%9F" title="衛星">衛星</a>である。<a href="/wiki/%E5%9C%9F%E6%98%9F%E3%81%AE%E7%92%B0" title="土星の環">土星の環</a>の<a href="/wiki/%E5%9C%9F%E6%98%9F%E3%81%AE%E7%92%B0#A環" title="土星の環">A環</a>にある<a href="/wiki/%E3%82%A8%E3%83%B3%E3%82%B1%E3%81%AE%E9%96%93%E9%9A%99" title="エンケの間隙">エンケの間隙</a>の中を公転している。<a href="/wiki/%E7%BE%8A%E9%A3%BC%E3%81%84%E8%A1%9B%E6%98%9F" title="羊飼い衛星">羊飼い衛星</a>の一つであり、環の粒子に影響を与えてエンケの空隙を形作っている。
</p>

から、<p>タグ、<b>タグ、<a>タグを取り除いて、URLは表示させておきたい(とします)。

【 エクセルファイル(excel-SUBSTITUTE.xlsx)のダウンロード 】(18.2kb)
をつかうと、↓こういう風に抜き出せます。

"パン (Saturn XVIII Pan) は、
/wiki/%E5%9C%9F%E6%98%9F"" title=""土星
土星の第18
/wiki/%E8%A1%9B%E6%98%9F"" title=""衛星
衛星である。
/wiki/%E5%9C%9F%E6%98%9F%E3%81%AE%E7%92%B0"" title=""土星の環
土星の環の
/wiki/%E5%9C%9F%E6%98%9F%E3%81%AE%E7%92%B0#A環"" title=""土星の環
A環にある
/wiki/%E3%82%A8%E3%83%B3%E3%82%B1%E3%81%AE%E9%96%93%E9%9A%99"" title=""エンケの間隙
エンケの間隙の中を公転している。
/wiki/%E7%BE%8A%E9%A3%BC%E3%81%84%E8%A1%9B%E6%98%9F"" title=""羊飼い衛星
羊飼い衛星の一つであり、環の粒子に影響を与えてエンケの空隙を形作っている。
"

ざっくりとした解説

C5セルに<p>と書いてあるのが見えますか?ここに消したい文言を入れると、C2セルにある文章から<p>が全部消えるように設定しています。

D5セルも同様で、<b>と入力されているので、C2の文章から<b>が全部消えるように設定されているのです。

ひとつなぎの言葉なら、1個のセルで対応できますが、
<p>、<b>、</b>、</p>、<a href="、">、</a>、と、計7個もあるので、一つ一つ文章から探して消していくのは面倒くさいので、こうやってセルを並べて指定しておけば、他の文章に応用できて楽だよなぁって、考えたのです。

このエクセルファイルでは、30個まで指定できますが、仕組みが分かっているなら、何個でも増やせますので、お試しください。

ファイルのダウンロード

【 エクセルファイル(excel-SUBSTITUTE.xlsx)のダウンロード 】(18.2kb)
※ご利用は自己責任で。

以上です!

SUBSTITUTE関数のことを詳しく知りたい方

エクセルで特定の文字を削除する関数の使い方まとめ  ※外部リンク

別の方法で削除したい方は、
特定 複数 削除 指定
文言 文字列
あたりのキーワードで検索してみてください。