今回のテーマは「文字の抽出」です!
以前、初級編の記事で
デフォルト機能の「抽出」を使って
文字を抽出してみました!
ただしこの機能だけでは限界があります!
そこでもっと自由自在に
文字を抽出する方法を紹介します!
そのために必要な知識
・PowerQueryのIF文
・PowerQueryの関数
についておさえましょう!
PowerQueryのIF文について
かじむー
IF文とは?
IF文というのは
条件によって結果を変えたい時に使う構文です!
赤なら止まれ、青なら進め、みたいな!
前回の動画で紹介した
PowerQueryの機能「条件列」と同じですね!
ただし、IF文を使った方が
「条件列」より細かい条件を指定できます!
ExcelのIF関数を使った事がある人は
イメージしやすいと思います!
IF文の2つの構文
※例)条件式「1+1 = 2」→ True
例えは簡単ですが結構奥深いです!
例えば信号で言うと
「青」なら「進め」
「それ以外」は「止まれ」
この2つの条件分岐をさせる場合は
= if [信号の色] = "青" then "進め" else "止まれ"
こんな風に書けば・・・
きちんと2つの条件分岐が出来ていますね!
ではここで
信号の色が「黄」なら
「安全に止まれなければ進め」という結果に変えてみます!
= if [信号の色] = "青" then "進め"
else if [信号の色] = "黄" then "安全に止まれなければ進め"
else "止まれ"
こんな風に書けば・・・
きちんと3つの条件分岐が出来ました!
PowerQueryの関数
かじむー
関数について
関数とは「何か値を与えると、何か結果が返ってくる」ものです。
ExcelのSum関数もそうですね!
値を与えると、値を合計した結果が返ってきますよね!
PowerQueryにも、Excelと同じ様に関数が存在します。
というよりこの関数の組み合わせで
全体の処理が成り立っています!
この辺りは上級編でお話ししますね。
私も普段は↑ココから
「こういう処理できる関数ないかな~」て探してます!
テキスト操作できる関数
今回は文字を抽出することが目的です!
なので公式リファレンス内に載っている
テキスト関数を使います!
・Text.Contains
・Text.End ※ExcelのRIGHT関数と同じ
・Text.Length ※ExcelのLEN関数と同じ
・Text.PositionOf ※ExcelのFIND関数と同じ
これらの関数を使って
文字を抽出する方法を紹介します!