タグ別アーカイブ: MID関数

文字列の抽出~上級編17回

 エクセル関数で特定の文字列を抽出する場合には、RIGHT関数やLEFT関数、そしてMID関数が良く使われます。今回の解説では、Power Queryでこれらの関数と同じ様に特定の文字列を抽出する方法を解説します。

 また、特定の文字列の位置が不特定の場合、エクセル関数ではFIND関数やSEARCH関数が前述の関数と組み合わせて使用されます

Power Queryでは、特定の文字列の位置が不特定の場合でも一括で抽出できる裏技がありますので、そちらについても解説を行います

例えば、

 下のGIF画像のように、「-」が不規則に出現する文字列の中から「左から2つ目3つ目ハイフン」の文字列を抽出することもできます

では、Power Queryにて特定文字列を抽出する方法について詳細な解説をはじめます

 以降の解説は、全てPower Queryエディタ(以降、エディタ)を開いた状態から解説を行います

エディタ内で使用するタブは「変換タブ」、使用メニューは「抽出」になります

目次

1.左から指定した長さの文字数を抽出

2.右から指定した長さの文字数を抽出

3.位置を指定して文字列の途中から指定した長さを抽出

4.特定の文字列の前後の文字を抽出

5.「特定の文字列の間」の文字を抽出

<まとめ>

1.左から指定した長さの文字数を抽出

エクセル関数では、LEFT関数で行う内容です

こちらは、下の画像の「最初の文字」から抽出を行います

上の画像の「最初の文字」をクリックすると下の画像の画面が開くので、こちらで抽出する長さを指定します

OKボタンを押せば、下のGIFのように左から3文字が抽出されます

2.右から指定した長さの文字数を抽出

こちらはエクセル関数で言えば、RIGHT関数になります

下の画像にある「最後の文字」から指定します

1.の「左から指定した長さの文字数を抽出」と同じ様に、「最後の文字」をクリックした後に開くダイアログボックスにて抽出する長さを指定します

後の処理は、1.と同じです

3.位置を指定して文字列の途中から指定した長さを抽出

こちらは、エクセル関数でいえばMID関数の内容になります

こちらは、下の画面の箇所から指定を行います

「範囲」をクリックした後、次の画像の画面で「①開始インデックス」「②文字数」を指定します

①開始インデックス・・・抽出を開始する位置(0から指定可)

②文字数・・・抽出文字数の長さ

上の①②を指定して右下のOKボタンを押せば、①開始インデックスの位置から②の文字数が抽出されます

上のGIF画像では①は「3」、②は「2」を指定しています

MID関数とは違い、指定した「開始インデックス」の「数字」に+1した位置から文字が抽出されます

下の図のように、MID関数では「4」の位置が、Power Queryの開始インデックス「3」に相当します

この関数との違いは、Power Queryでは「0」から指定ができるようになっていることに起因していますので、注意が必要です

4.特定の文字列の前後の文字を抽出

以降は有料ページ/課金サービスへ

関数をマスターする9~文字列操作関数・一式~

今回は文字列操作関連の関数を一式で解説します

一つ一つ覚えるより、組み合わせ方を覚えていくととても実践的な活用の仕方が可能になります

中でもMID関数、FIND関数、LEN関数の組み合わせは鉄板です

とにかく、”習うより慣れろ”を意識して取り組んでいきましょう!

1.氏名から空白を介して名前を抽出する

サンプルファイルに演習シートがあります。このシートでA列の氏名から名前を関数の組み合わせにて自動抽出します

➀LEFT関数、RIGHT関数

 本題に入る前にLEFT関数とRIGHT関数でウォーミングアップをしましょう

 対象の文字列の左、もしくは右側から指定した文字数を抽出します

  =LEFT(対象文字列,文字数)、=RIGHT(対象文字列,抽出文字数)

 ②MID関数

  ここから本題です

  対象の文字列の途中から文字を抽出します

   =MID(対象文字列,抽出開始位置,文字数)

  ちなみに木村と浩の間には空白が入っています

 ③FIND関数

  指定した文字の位置を見つけます。

   =FIND(検索文字列,検索対象文字)

   ちなみに、上のGIFでは空白の位置を見つけるのですが、全角

の空白を指定しておかないと、位置を抽出できないので注意が必要です

 ④LEN関数

  文字の長さを返してくれます

   =LEN(対象文字列)

 ⑤MID&FIND&LEN関数

   ②~④を組み合わせて空白を介して氏名から名前を抽出します

    STEP1:FIND関数で空白(全角)の位置を見つける

    STEP2:(LEN関数-FIND関数)で名前の長さを抽出する

    STEP3:STEP1、STEP2の値を使ってMID関数を作成する

2.桁区切りや小数点表示を指定する

TEXT関数を使って自由自在に指定できます

 =TEXT(対象文字列,書式)

以上です。いかがでしたか?関数の便利さを実感できたのでないでしょうか?

ではまた次回お会いしましょう!

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


にほんブログ村