文字列の追加、置換~上級編18回

 

 今回は、既存の文字列に「新たな文字列を追加」する方法と、「文字列を置き換える」方法を解説します

「文字列を置き換える」場合、繰り返し同じ文字が出現する時には、特定の位置の文字だけ置き換える必要が出てくる時があります

その場合には、過去に解説した「文字列の抽出」「列のマージ」を組み合わせて置き換えます

では、本格的な解説をはじめます!

尚、解説はPower Queryエディタ(以降、エディタ)画面内の操作のみになります

1.文字列の追加

①既存文字列のに追加

下の画像の文字列の前に文字列「A-」を追加する方法を解説します

なお、文字列を追加する場合、元の文字列を残したまま、新たに「文字列を追加」した列を追加する方法と、元の文字列に対して、「文字列を追加」する方法があります

今回は、元の文字列を残したまま、新たに列を追加する方法で解説します

ですので、下の画像のように「列の追加」タブを使用します

「列の追加」タブ内にある「書式」の右横の▼マークから「プレフィックスの追加」をクリックします

すると下の画像のような画面が開きますので、追加する文字列「A-」を指定します

追加する文字列を指定したら、画面右下のOKボタンを押せば、下のGIF画像のように文字列「A-」が既存の文字列のに追加されています

②既存文字列のに追加

下の画像の文字列の後に文字列「-B」を追加する方法を解説します

基本的には、①の既存の文字列の前に文字列を追加する方法と一緒です

但し、下の画像の箇所にて、クリックする箇所が違います

「プレフィックスの追加」でなく「サフィックスの追加」をクリックします

それ以外の処理は①と一緒です

2.文字列の置換

では、下の文字列の中の「ABC」を「DEF」に置き換える方法を解説します

値の置換は「変換タブ」の「値の置換」から行います

ちなみに「エラーの置換」については、過去の記事で解説しておりますので、ぜひそちらをご参照ください

上の画像にある「値の置換」をクリックすると、下の画像の画面が開きます

上の画像の画面では、ⅰ)検索する値、とⅱ)置換後の値、の2つを指定します

ⅰ)ⅱ)の2つを指定し、OKボタンを押せば置換は終了です

3.繰り返し文字の置換

では、記事の冒頭で紹介した内容の解説に入ります

下の画像の文字列にある「ハイフン/-」のように、繰り返し出現する文字列の中から位置/順番を指定して文字列を置き換える方法を解説します

今回は、文字列内に5回登場する「ハイフン/-」の内、から2番目の「ハイフン/-」を「X」に置き換えます

この種の置換の場合には、記事の冒頭で前述したように「 文字列の抽出」「列のマージ」 を組み合わせて行います

実際に文字列の置換が完成するまでに、次の図のように2つの段階を踏みます

①の抽出にて、まずは文字列を右から2番目の「ハイフン/-」を境目にして分解します

この時、抽出する内容から、右から2番目の「ハイフン/-」は省いておきます

②では、下の画像にある画面を使用し、一度分解した文字列をマージ(結合)します

この時に、上の図の黄色の箇所のように、複数列をマージする際のつなぎ目に、置き換える文字である「X」を指定します

それでは、これより詳細な解説に入ります

①抽出

抽出は右から2番目の「ハイフン/-」に対して2回行います

使用するメニューは「列の追加」タブにある「抽出」メニューになります

抽出

上の画像の赤枠内の「区切り記号ののテキスト」 「区切り記号ののテキスト」 を1回ずつ使用します

ⅰ)「ハイフン/-」のの文字を抽出

上の画像の「区切り記号ののテキスト」をクリックすると次の画像の画面が開きます

こちらの画面で3か所(黄色の箇所)を指定します

・区切り記号➡こちらは「ハイフン/-」になります

・区切り記号のスキャン➡

文字列の読込方向を指定します。こちらは「入力の末尾から」になります

・スキップする区切り記号の数➡

こちらは末尾(右)から2番目なので、1度スキップします。ですので「」です

上の3つを指定してOKボタンを押すと、エディタ内の表示が次の画像のようになります

ⅱ)「ハイフン/-」のの文字を抽出

こちらは「区切り記号ののテキスト」から処理を開始します

次に開いたダイアログボックスでは、3つの箇所をⅰ)と同じ様に指定します

②マージ

①の抽出が終了した段階で、エディタ内の表示は次の画像のようになっているはずです

では、前述の通り、新たに抽出した列をマージする処理を行います

マージの処理は、次の画像の黄色で印をつけた箇所のメニューより行います

列をマージする際には、必ず、Ctrlキーでマージする列を選択しておきましょう

「列のマージ」をクリックした後に開いたダイアログボックスでは、まず区切り記号を「カスタム」で指定しましょう

更に、前述の通り置き換える文字「X」を、複数列のつなぎ目として指定します

そして、最後に新しい列名を指定します

次にOKボタンを押すと、下のGIF画像のように列がマージされます

列が「X」をつなぎ目としてマージされた結果、右から2番目の「ハイフン/-」が「X」に置き換わっています

<まとめ>

今回は、文字列を追加及び置き換える方法について解説を行いました

 文字列の追加については、「列の追加」タブにある、次の画像の箇所から追加を行いました

 文字列の置換については、変換タブにある「値の置換」メニューから置換処理を行いました

 そして、最後に同じ文字列が繰り返し出現する場合に、位置(順番)を指定して文字を置き換える方法について解説しました

こちらについては、①抽出と②マージの2つに処理を分けて実施しました

まず①の抽出では、下の画像の画面から文字列の抽出を行いました

抽出

②のマージでは、①で抽出した文字列を、列のつなぎ目に「置き換える文字」を指定した上で「マージ」しました

 この①と②の処理を組み合わせることで、かなり高度な「文字の置換」が行えます

ぜひ、様々な文字列で実際に手を動かしながら試してみてください

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です