ADVERTISEMENT
目次
1. パワークエリの「お節介な親切」が招く変換エラーの正体
パワークエリ(Power Query)を使って外部のCSVやExcelブックからデータを読み込む際、多くのユーザーが最初に直面するのが「Expression.Error: 指定した値を型 Number に変換できませんでした」といった型変換エラーです。これは、パワークエリが「データの最初の200行程度」をスキャンして、その列が数値なのかテキストなのかを勝手に判断し、自動的に「変更された型」というステップを挿入してしまうことが原因です。
例えば、基本的には数値が入っている列のずっと下の方に、エラーを示す記号や注釈テキストが混じっていた場合、パワークエリの自動推論はそれに気づかず「数値型」を適用してしまいます。その結果、数値として解釈できないセルに遭遇した瞬間にエラーを吐き、読み込みが止まってしまうのです。2026年現在のデータ分析現場では、不規則な汚れを含んだ生のデータを扱う機会が増えており、この「自動推論」に頼る運用はむしろリスクとなります。本稿では、自動設定を物理的に封じ、設計者が完全にデータ型を制御するための誠実な手順を詳説します。
2. 手順①:クエリのオプションで「自動検出」を恒久的に停止する
これから作成するすべてのクエリ、あるいは現在のブックに対して自動推論を止めたい場合は、オプション画面から設定を変更します。
- パワークエリのエディター画面で、左上の 「ファイル」 タブをクリックします。
- 「オプションと設定」 > 「クエリのオプション」 を選択します。
- 左側のメニューから 「データロード」 (現在のブック、またはグローバルのいずれか)を選択します。
- 「型の検出」 セクションにある 「非構造化ソースの列の型とヘッダーを検出しない」 にチェックを入れます。
- 「OK」をクリックして設定を保存します。
この設定を行うと、新しいデータを読み込んだ際に、勝手に「1、2、3(整数)」や「ABC(テキスト)」といった型が割り当てられず、すべて「任意の型(Any)」として読み込まれるようになります。一見不便に思えますが、これがエラーを防ぐための最も安全なスタート地点です。
ADVERTISEMENT
3. 手順②:適用したステップから「変更された型」を削除する
既に作成済みのクエリでエラーが出ている場合は、オプション設定を変えるだけでは不十分です。既に記録されてしまった「変更された型」ステップを手動で除去する必要があります。
- パワークエリのエディター画面右側にある 「適用したステップ」 ペインを確認します。
- 「ソース」や「ナビゲーション」の直後に自動で挿入されている 「変更された型」 (または「昇格されたヘッダー数」など)の左側にある 「×」 印をクリックして削除します。
- エラーが表示されていたセルが、元の生データ(エラーなしの状態)に戻ることを確認します。
技術的洞察: この「変更された型」ステップがエラーを誘発するのは、そのステップ自体が「その列に含まれるすべての値を強制的に特定の型にキャスト(変換)しようとする」からです。ステップを削除することで、パワークエリはデータの解釈を保留し、次のクレンジングステップへ進むことが可能になります。
4. 手順③:クレンジングの「最後」に型を指定する鉄則
型変換エラーを避けるプロフェッショナルの鉄則は、 「データを綺麗にする前に型を決めない」 ことです。以下の順序で作業を進めるのが誠実なデータ加工の手順です。
- ステップ1:不要な行のフィルタリング: ヘッダーに含まれるゴミデータや、フッターの合計行など、数値以外のものが混じっている行をまず削除します。
- ステップ2:置換とエラーの処理: 「欠損」と書かれた文字列を「null」に置換したり、不要な記号を取り除いたりします。
- ステップ3:データ型の最終定義: データの整形がすべて終わった段階で、列ヘッダーを右クリックし、 「型変更」 から適切な型(日付、通貨、整数など)を一つずつ指定します。
5. 比較:自動型検出 vs 手動定義の運用コストと信頼性
| 比較項目 | 自動型検出(お任せ) | 手動定義(設計者管理) |
|---|---|---|
| 初期スピード | 速い。読み込み後すぐに計算可能。 | 遅い。自分で型を指定する手間がある。 |
| エラー耐性 | 低い。1件の例外でクエリが停止。 | 高い。ゴミを除去してから型を決めるため安全。 |
| メンテ性 | 低い。列名が変わるとステップが壊れる。 | 高い。どの列をどの型にしたか意図が明確。 |
| 推奨される場面 | 使い捨ての小さなデータの確認。 | 基幹システムとの連携、定期更新レポート。 |
6. 実務でのトラブル:CSVの「15桁以上の数字」が化ける問題
型変換に関連するもう一つの重大な技術的仕様が、 「15桁以上の数値」 の扱いです。CSVをパワークエリで読み込む際、クレジットカード番号や長い商品コードが自動的に「数値型」に推論されると、Excelの計算精度の限界(15桁)によって、下位の桁が勝手に「0」に丸められてしまいます。
この悲劇を防ぐためにも、自動推論はオフにしておくべきです。数値を読み込んだ瞬間に「テキスト型」として定義することで、パワークエリは値を文字列として保持し、一字一句違わぬ正確なデータをExcelへ届けることができます。データの正確性を守ることは、分析者としての誠実さそのものです。自動機能に身を任せず、データの性質を理解した上で型を制御してください。
まとめ:自動機能を「疑う」ことが、堅牢なデータ加工の第一歩
パワークエリの自動型変換は、初心者にとっては非常に親切な機能ですが、複雑な実務データを扱う中級者以上のユーザーにとっては、エラーの火種となることが多いのも事実です。「 Expression.Error 」という冷たいメッセージに振り回されないためには、オプション設定で自動検出を封じ、自分の手で一つひとつの列に命(データ型)を吹き込んでいく姿勢が求められます。
手間は増えますが、その分、あなたの作成したクエリはどのような例外データに対しても「止まらない」強靭なものになります。道具が提供する「便利」の裏側にある仕様を正しく理解し、主導権を自分の手に取り戻すこと。この小さな設定の積み重ねが、パワークエリという強力なエンジンを真に乗りこなし、価値あるアウトプットを継続的に生み出すための唯一の道なのです。今日から、新しいクエリを作る際はまず「自動で追加されたステップを消す」ことから始めてみてください。その数秒の作業が、将来のあなたを救うことになります。
この記事の監修者
超解決 Excel研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。
