【中級編】【PowerQuery】IF文・関数を駆使して自在に文字を抽出しよう!

今回のテーマは「文字の抽出」です!

以前、初級編の記事で
デフォルト機能の「抽出」を使って
文字を抽出してみました!

ただしこの機能だけでは限界があります!

そこでもっと自由自在
文字を抽出する方法を紹介します!

そのために必要な知識
PowerQueryIF文
・PowerQueryの関数

についておさえましょう!

動画で見たい方はコチラ

PowerQueryのIF文について

かじむー

IF文の基本をおさえよう!

IF文とは?

IF文というのは
条件によって結果を変えたい時に使う構文です!

赤なら止まれ、青なら進め、みたいな!

前回の動画で紹介した
PowerQueryの機能「条件列」と同じですね!

ただし、IF文を使った方が
「条件列」より細かい条件を指定できます!

ExcelのIF関数を使った事がある人は
イメージしやすいと思います!

IF文の2つの構文

重要
「条件式」とは結果が「True」「False」になる式の事
※例)条件式「1+1 = 2」→ True
例えは簡単ですが結構奥深いです!

構文①:条件分岐が2つで足りる場合

例えば信号で言うと

「青」なら「進め」
「それ以外」は「止まれ」

この2つの条件分岐をさせる場合は

IF文
= if [信号の色] = "青" then "進め" else "止まれ"

こんな風に書けば・・・

きちんと2つの条件分岐が出来ていますね!

構文②:条件分岐が3つ以上必要な場合

ではここで

信号の色が「黄」なら
「安全に止まれなければ進め」という結果に変えてみます!

IF文
= if [信号の色] = "青" then "進め"
 else if [信号の色] = "黄" then "安全に止まれなければ進め"
 else "止まれ"

こんな風に書けば・・・

きちんと3つの条件分岐が出来ました!

PowerQueryの関数

かじむー

PowerQueryにも存在する「関数」がどんなものか?知っておきましょう!

関数について

関数とは「何か値を与えると、何か結果が返ってくる」ものです。

ExcelのSum関数もそうですね!
値を与えると、値を合計した結果が返ってきますよね!

PowerQueryにも、Excelと同じ様に関数が存在します。

というよりこの関数の組み合わせで
全体の処理が成り立っています!

この辺りは上級編でお話ししますね。

私も普段は↑ココから
「こういう処理できる関数ないかな~」て探してます!

テキスト操作できる関数

今回は文字を抽出することが目的です!

なので公式リファレンス内に載っている
テキスト関数を使います!

Text.Contains
Text.End ※ExcelのRIGHT関数と同じ
Text.Length ※ExcelのLEN関数と同じ
Text.PositionOf ※ExcelのFIND関数と同じ

これらの関数を使って
文字を抽出する方法を紹介します!

1 2