Excel PowerQuery

文字列を抽出する -PowerQuery基礎-

こんにちわ、マツコ先生 です。

「 PowerQuery上で文字列を抽出する方法」でお困りではないでしょうか?

本記事でそんなお悩みを解決していきますよ!

本記事を読むことで
・文字列を抽出する方法は、1つではないことを理解できる
・最も簡単な5通りの方法を理解できる

文字列を結合する際のポイント

  • 抽出を開始(終了)するの文字の位置を決める(何文字目か)
  • 抽出を開始(終了)する区切り記号(文字)を決める
  • 抽出する範囲(ある文字位置の前か後ろか、それとも間か)を決める

準備

サンプルとして次のような表を使って、文字列を抽出しようと思います。

PowerQueryに取り込んだ状態にしましょう。

これで準備は完了です。次からは文字列を結合する方法を紹介していきます。

方法1:先頭から指定文字数を抽出

1つ目の方法は、抽出したい文字が必ず先頭にあり、文字数が一定の場合に適しています。

上のメニューから "変換" を選択し、”抽出" のアイコンをクリックし"最初の文字" を選択します。

"最初の文字を抽出する" の設定画面が表示されるので、先頭から抽出したい文字数を半角で入力し、"OK" をクリックします。

先頭から設定した文字数だけ抽出された新しい列が表示されていると思います。

方法2:末尾から指定文字数を抽出

2つ目の方法は、抽出したい文字が必ず末尾にあり、文字数が一定の場合に適しています。

上のメニューから "変換" を選択し、”抽出" のアイコンをクリックし"最後の文字" を選択します。

"最後の文字を抽出する" の設定画面が表示されるので、末尾から抽出したい文字数を半角で入力し、"OK" をクリックします。

末尾から設定した文字数だけ抽出された新しい列が表示されていると思います。

方法3:先頭から区切り記号までを抽出

3つ目の方法は、抽出したい文字が必ず先頭にあり、文字数が一定ではないが、特定の文字までを抽出したい場合に適しています。

上のメニューから "変換" を選択し、”抽出" のアイコンをクリックし"区切り記号の前のテキスト" を選択します。

"区切り記号の前のテキスト" の設定画面が表示されるので、先頭からの抽出を止める文字を入力し、"OK" をクリックします。

先頭から設定した文字までが抽出された新しい列が表示されていると思います。

方法4:区切り記号から末尾までを抽出

4つ目の方法は、抽出したい文字が必ず末尾にあり、文字数が一定ではないが、特定の文字から抽出したい場合に適しています。

上のメニューから "変換" を選択し、”抽出" のアイコンをクリックし"区切り記号の後のテキスト" を選択します。

"区切り記号の後のテキスト" の設定画面が表示されるので、抽出を開始する文字を入力し、"OK" をクリックします。

設定した文字から末尾までが抽出された新しい列が表示されていると思います。

方法5:区切り記号から区切り文字までを抽出

5つ目の方法は、抽出したい文字、特定の区切り文字に挟まれている場合に適しています。

上のメニューから "変換" を選択し、”抽出" のアイコンをクリックし"区切り記号の間のテキスト" を選択します。

"区切り記号の間のテキスト" の設定画面が表示されるので、抽出を始める文字、抽出を止める文字を入力し、"OK" をクリックします。

先頭から設定した文字までが抽出された新しい列が表示されていると思います。

ここで覚えておいて欲しいのは、2行目のように、開始区切り記号に設定した文字が見つからない場合、抽出されないということです。他方、終了区切り記号に設定した文字が見つからない場合、末尾まで抽出されるということです。

まとめ

今回は「 PowerQuery上で文字列を抽出する方法」をご説明しました。

今回は、最も簡単な次の5つの方法を紹介しました。

  • 方法1:先頭から指定文字数を抽出
  • 方法2:末尾から指定文字数を抽出
  • 方法3:先頭から区切り記号までを抽出
  • 方法4:区切り記号から末尾までを抽出
  • 方法5:区切り記号から区切り文字までを抽出

また、文字列を抽出する方法を検討する前に次のポイントを決める必要があることに留意しましょう。

  • 抽出を開始(終了)するの文字の位置を決める(何文字目か)
  • 抽出を開始(終了)する区切り記号(文字)を決める
  • 抽出する範囲(ある文字位置の前か後ろか、それとも間か)を決める

また、以下の記事もお困りの問題を解決するヒントになるかもしれないので、ぜひ参考にしてみてください!

あわせて読みたい
あわせて読みたい

-Excel, PowerQuery
-,