Power QueryでExcelライクな数式を書いてデータ加工ができます。
数式を書いているときに、「Excel関数はこれが使えるけど、Power Queryだと関数名がわからんぞ・・・・」といった状況に出くわします。
例えば、「20240828」という文字列を左から4文字抜き出したい場合に、ExcelだとLEFT関数を使います。Power QueryでもLEFT関数があるのかと思いきや、ありません。Text.Startという関数になります。
Excelは使い慣れていて数式が頭に入っているけど、Power Queryだとよく分からないという方向けに、ExcelとPower Queryの対比表を作成しました。
文字列操作
Excel関数 | Power Query関数 | 備考 |
---|---|---|
LEFT (例) =LEFT(“よく使う数式.xlsx”,4) (結果) よく使う | Text.Start (例) =Text.Start([ファイル名],4) | 左から指定文字数の文字を取得する |
RIGHT (例) =RIGHT(“よく使う数式.xlsx”,4) (結果) xlsx | Text.End (例) =Text.End([ファイル名],4) | 右から指定文字数の文字を取得する |
MID (例) =MID(“よく使う数式.xlsx”,3,4) (結果) 使う数式 | Text.Middle (例) =Text.Middle([ファイル名],3, 4) | 指定文字位置から指定文字数の文字を取得する |
TRIM (例) =TRIM(” いちご 大福 “) (結果) いちご 大福 | Text.Trim (例) Text.Trim([商品名]) | 先頭と末尾にある空白を削除し、単語間で2つ以上連続した空白を1つだけ残す |
MIN (例) =MIN(3, 5, 2) (結果) 2 | List.Min (例) = Table.Group(追加されたカスタム, {“商品名”}, {{“単価(最小)”, each List.Min([単価]), type nullable number}}) | 指定範囲の数値の最小値を取得する |
MAX (例) =MAX(3, 5, 2) (結果) 5 | List.Max (例) = Table.Group(追加されたカスタム, {“商品名”}, {{“単価(最大)”, each List.Max([単価]), type nullable number}}) | 指定範囲の数値の最大値を取得する |
CONCATENATE (例) =CONCATENATE(“クエリ商事”,”_”,”いちご大福”) (結果) クエリ商事_いちご大福 | Text.Combine (例) Text.Combine({[得意先],[商品名]}, “_”) | 文字列を結合する |
日付操作
Excel関数 | Power Query関数 | 備考 |
---|---|---|
YEAR (例) =YEAR(A1) | Date.Year (例) =Date.Year([売上日]) | 日付から年を取得する |
MONTH (例) =MONTH(A1) | Date.Month (例) =Date.Month([売上日]) | 日付から月を取得する |
DAY (例) =DAY(A1) | Date.Day (例) =Date.Day([売上日]) | 日付から日を取得する |
NOW (例) =NOW() | DateTime.LocalNow (例) =DateTime.LocalNow() | 現在の日付・時刻を取得する |
DATE (例) =DATE(2024, 10, 1) | #date (例) #date(2024, 10, 1) | 年月日を引数にいれると、日付型で値を返す |
制御文
Excel関数 | Power Query関数 | 備考 |
---|---|---|
IF (例) =IF(A1>=70, “合格”, “不合格”) | if then else (例) =if [点数] >= 70 then “合格” else “不合格” | 条件に応じて結果を変える [関連記事] Power Queryで列の追加を行う基本機能 |