gooブログはじめました!

Excelで文字列の置き換え、SUBSTITUTE関数で複数の置換を一発で実行する

〇 SUBSTITUTE関数 文字列操作関数。

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

セル内の文字列を別の文字列に置き換える。

①文字列 文字を置き換えるテキストを含むセルの参照を指定する。
②検索文字列 検索する文字列を指定する。
③置換文字列 置き換える文字列を指定する。
④置換対象 省略可能、検索文字列に含まれるどの文字列を置換文字列と置き換えるかを指定する。

元のデータを残して置換する。

ただし、「検索と置換」とSUBSTITUTE関数では、振る舞いが微妙に異なる。「検索と置換」の場合、もともとあるデータの文字列を別の文字列に置き換える。これに対してSUBSTITUTE関数の場合、元のデータを残しつつ、別の文字列に置き換えた新たなデータを作り出す。一例を見てみよう。

C2を選び「数式」タブ→「文字列操作」ボタン→「SUBSTITUTE」で「関数の引数」ダイアログを開く。「文字列」には「B2」、「検索文字列」には「「」(カギかっこ)、「置換文字列」には「『」(二重カギかっこ)を入力する。全部入力できたら「OK」ボタンを押す
画1、C2を選び「数式」タブ→「文字列操作」ボタン→「SUBSTITUTE」で「関数の引数」ダイアログを開く。「文字列」には「B2」、「検索文字列」には「「」(カギかっこ)、「置換文字列」には「『」(二重カギかっこ)を入力する。全部入力できたら「OK」ボタンを押す。
 
書名の頭のカギかっこを二重カギかっこに変更できた
画2、書名の頭のカギかっこを二重カギかっこに変更できた。

このようにSUBSTITUTE関数だと、B列に元のデータを残しつつ、C列に文字列を変更した新たなデータを作り出せた。しかし、カギかっこから二重カギかっこに置換するのならば、カギかっこ閉じるも二重カギかっこ閉じるに置き換えなければ格好がつかない。どうすべきか。

「江戸城」を『江戸城』に一発変換。

実はSUBSTITUTE関数を使うと、このような複数文字列の置換も一発で行える。下記のように、先ほど作成した数式を少々編集すれば問題は解決する。

C2を選んだ状態で、「数式バー」を見ると、数式は「=SUBSTITUTE(B2,"「","『")』になっている。この数式の「=」と「S」の間にカーソルを置く。そして、「SUB」と入力すると、関数名に「SUB」をもつ関数が一覧になるので、「SUBSTITUTE」をダブルクリックする
画3、C2を選んだ状態で、「数式バー」を見ると、数式は「=SUBSTITUTE(B2,"「","『")』になっている。この数式の「=」と「S」の間にカーソルを置く。そして、「SUB」と入力すると、関数名に「SUB」をもつ関数が一覧になるので、「SUBSTITUTE」をダブルクリックする。
 
すると数式は「=SUBSTITUTE(SUBSTITUTE(B2,"「","『")」とSUBSTITUTEが入れ子になった。数式の末尾にカーソルを置いて、「,"」","』")」と入力する。数式が「=SUBSTITUTE(SUBSTITUTE(B2,"「","『"),"」","』")」になったら[Enter]キーを押す
画4、すると数式は「=SUBSTITUTE(SUBSTITUTE(B2,"「","『")」とSUBSTITUTEが入れ子になった。数式の末尾にカーソルを置いて、「,"」","』")」と入力する。数式が「=SUBSTITUTE(SUBSTITUTE(B2,"「","『"),"」","』")」になったら[Enter]キーを押す。
 
書名に二重カギかっこの『江戸城』が一発で返った。あとはこれをC8までオートフィルすれば完成だ
画5、書名に二重カギかっこの『江戸城』が一発で返った。あとはこれをC8までオートフィルすれば完成だ。

以上の要領で、入れ子を3つや4つにしても複数の置換を一発で実行できる。ただ、関数名が長いのが玉にきずではあるのだが。


ランキングに参加中。クリックして応援お願いします!

名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「〝 たぬき の 「 スマホ ・ パソコン 」 ワールド 〟」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事