この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。Power Queryで一部の値だけ変換に失敗したとき、クエリ全体を止めずにその行だけnullへ逃がす最小パターンを扱います。検証ステータス:📘 Microsoft公式仕様確認済み・実機未確認
情報確認日:2026年10月4日。
Power Queryで数値列へ「NG」「未定」のような文字が1件混ざると、型変換ステップがエラーになることがあります。そんなときは、M言語の try ... otherwise を使うと、失敗した式だけ代替値へ置き換えることができます。
最小例
次のクエリは、数値文字列と「NG」が混在する表を作り、変換できない行だけ null にします。
let
Source = #table(
{"Amount"},
{
{"1200"},
{"NG"},
{"350"}
}
),
Converted = Table.AddColumn(
Source,
"AmountNumber",
each try Number.FromText([Amount]) otherwise null,
type number
)
in
Converted
期待する見え方は次の通りです。
| Amount | AmountNumber |
|---|---|
| 1200 | 1200 |
| NG | null |
| 350 | 350 |
何が起きているか
try 式 は、式が成功した値またはエラー情報を扱える形にします。otherwise を付けると、エラー時の代替値を短く書けます。
Number.FromText が成功
↓
変換した数値を返す
Number.FromText が失敗
↓
otherwise null
↓
その行だけ null
更新全体を止めないのが利点ですが、エラーを隠しすぎるのは危険です。実務では、null件数を数えて「想定外のデータが増えていないか」を別途確認します。
エラー行を見つけたい場合
代替値を固定文字列にする方法もあります。ただし列型との整合に注意してください。調査用なら、別のカスタム列で成功・失敗を記録する方が安全です。
each
let
result = try Number.FromText([Amount])
in
if result[HasError] then "ERROR" else "OK"
使いどころ
CSVに「未定」「-」が混ざる
Web/APIの値が一部だけ欠損する
古いExcelの列に数値と文字列が混在する
取り込みを止めず、後から異常件数を確認したい
注意点
otherwise null は万能な修正ではありません。本来エラーにすべきデータまで静かに通すと、集計値が小さくなるなど別の問題を生みます。異常を許容する理由と、異常件数を監視する方法をセットにしてください。

