先に結論です。Mac版のExcelでもPower Queryは使えます。ただし、読み込めるデータソースや一部の機能はWindows版より少なく、その範囲はアップデートのたびに変わってきました。そのため「Macでできるか」は、過去の記事や人づての情報ではなく、自分のMacの画面と公式情報で確かめるのが確実です。
この記事では、確認の順番と、Windows版で作ったクエリがMacで動かないときの原因の見分け方を説明します。Web版Excelでの可否は別の記事で扱います。
最初に確認する3つのこと
- Excelの種類とバージョン
「Excel」メニューの「Excelについて」で確認します。Microsoft 365のサブスクリプション版か、買い切り版(Excel 2021 for Macなど)かで、使える機能が違うことがあります。 - 更新の状態
「ヘルプ」メニューの「更新プログラムのチェック」から更新します。古いままだと、公式情報に載っている機能がメニューに出てきません。 - 「データの取得」に出る項目
「データ」タブの「データの取得」を開いて表示される項目が、そのMacで使えるデータソースの一覧です。
Microsoftのサポートサイトには、Mac版ExcelのPower Queryについて、対応するデータソースや機能をまとめた記事があります。題名や内容は更新されるため、「Mac Excel Power Query」などで検索して、最新の記事を確認してください。
「取り込み」「編集」「更新」を分けて確認する
Windows版では、取り込み・編集・更新のどれもできるのが普通です。Mac版では「ブックは開けるが更新できない」「更新はできるが、必要な編集操作がない」といったことが起こりえます。3つを別々に確かめます。
| 範囲 | 確認すること | 確認方法 |
|---|---|---|
| 取り込み | 使いたいデータソースが「データの取得」にあるか | メニューを開き、テスト用のファイルで実際に取り込む |
| 編集 | Power Queryエディターで必要な操作ができるか | エディターを開き、各タブや詳細エディターの有無を確認する |
| 更新 | 既存のクエリが最後までエラーなく更新されるか | 「すべて更新」を実行し、行数と値を確認する |
取り込み:データソースを確かめる
ブック内のテーブル・範囲、Excelブック、テキスト・CSVといった基本的なファイルは、Mac版でも取り込み元として使われています。
一方、次のようなデータソースは、Mac版ではメニューにない、または制限がある可能性があります。使う予定があるなら、必ず自分の画面で確認してください。
- Accessデータベース
- ODBC経由の接続
- フォルダー(フォルダー内の複数ファイルの結合)
- Windows認証を使うデータベース接続
- 特定の認証方式が必要なWebやSharePoint
メニューにあっても、認証方式の選択肢がWindows版と違う場合があります。実際に接続し、データが表示されるところまで試します。
Windows版で作ったクエリをMacで使うときの確認順
作業の前に、ブックのコピーを作っておきます。Macで編集・保存したブックをWindowsに戻したとき、クエリが変わっていないかを比べられるようにするためです。
1. どのデータソースを使っているか洗い出す
Windows版で「データ」タブの「クエリと接続」を開き、クエリの一覧を出します。各クエリの最初のステップ(多くは「ソース」)の式を、数式バーか詳細エディターで確認します。式の関数名を見れば、何を読み込んでいるかが分かります。
| ソースの関数(例) | 読み込んでいるもの | Macで確認すること |
|---|---|---|
Excel.CurrentWorkbook |
同じブック内のテーブル・名前付き範囲 | 外部ファイルを使わないので、比較的影響を受けにくい。まずここから更新を試す |
File.Contents と Csv.Document・Excel.Workbook・Json.Document の組み合わせ |
1つのファイル | パスがWindows形式(C:\...)だとMacでは見つからない |
Folder.Files・Folder.Contents |
フォルダー内の全ファイル | Macのメニューにフォルダーからの取得があるか。パスの形式 |
SharePoint.Files・SharePoint.Contents・Web.Contents |
SharePoint・OneDrive・Web | Macでサインインでき、必要な認証方式を選べるか |
Access.Database・Odbc.DataSource・Pdf.Tables・Sql.Database |
Access・ODBC・PDF・データベース | Macのメニューに該当するデータソースがあるか。認証方式 |
あるクエリが別のクエリを参照している場合は、参照元が失敗すると参照先も連鎖して失敗します。参照元のクエリから順に確認します。
2. Macで「すべて更新」してエラーを記録する
Macでコピーのブックを開き、「データ」タブの「すべて更新」を実行します。エラーになったクエリの名前とメッセージの文言をメモします。
3. エラーの種類で切り分ける
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| ファイル・フォルダーが見つからない | Windows形式のパスのまま | Macのパスに直す。またはパスをセルから読む形にする(下記) |
| 資格情報を求められる、アクセスが拒否される | 資格情報はパソコンごとに保存され、ブックには含まれない | Macでサインインし、資格情報を設定し直す |
| ファイルへのアクセス許可を求める画面が出る | macOSのアクセス制限 | 内容を確認して許可する。許可しても読めないときは、ファイルの置き場所を確認する |
| データソースに対応していない旨のメッセージ | Mac版にないデータソース | Macでは更新しない運用にする(下記) |
| 特定のステップだけエラー | Mac版で使えない処理の可能性 | エラーのステップを特定し、別の操作で置き換えられないか試す |
Windows版でクエリの結果をデータモデル(Power Pivot)に読み込んでいるブックにも注意が必要です。Mac版ExcelにはPower Pivotの画面がありません。データモデルを前提にした集計は、Macでは編集できないと考えて確認してください。
パスの違いをセルで吸収する
WindowsとMacでは、ファイルパスの形が違います。
- Windows:
C:\Users\名前\Documents\data.csv - Mac:
/Users/名前/Documents/data.csv
同じブックを両方で使う場合は、パスをシートのセルに書き、Power Queryからそのセルを読む方法が便利です。セルに「ファイルパス」という名前を付けておくと、次のように書けます。
let
パス = Excel.CurrentWorkbook(){[Name="ファイルパス"]}[Content]{0}[Column1],
ソース = Csv.Document(File.Contents(パス), [Delimiter=",", Encoding=65001])
in
ソース
こうしておけば、使う環境に合わせてセルのパスを書き換えるだけで済み、クエリは触らずに済みます。
編集:エディターで確認すること
Mac版のPower Queryエディターで、普段使う操作がメニューにあるか確かめます。確認したい操作の例は次のとおりです。
- 詳細エディター
- カスタム列
- マージ、追加
- グループ化
- パラメーター
メニューにない操作も、詳細エディターでMの式を書けば動く場合があります。ただし、関数そのものがMacで使えない場合もあるため、書いたあとは更新して結果を確認します。
Macで編集して保存したブックは、Windowsでも開いて更新し、同じ結果になるか確かめます。両方の環境で使うブックでは欠かせない確認です。
Macで更新できないときの運用
データソースや機能がMacにない場合は、次のような運用を検討します。
- 更新はWindowsで行う:Macでは結果の表だけを使う。ブック内に「Macでは更新しない」と書いておく
- データの形を変える:Windows側でCSVやExcelブックに出力し、Macではそのファイルを読み込む
- Windows環境を使う:仮想環境やリモート接続でWindows版Excelを使う。社内ルールとライセンスの確認が必要
- 更新担当を決める:共有ブックなら、更新する人と環境をあらかじめ決めておく
チェックリスト
- Excelの種類・バージョンと更新状態を確認した
- 使うデータソースが「データの取得」にあり、実際に取り込めた
- Windowsで作ったクエリのソース関数を一覧にした
- ファイルパスをMac用に直すか、セルから読む形にした
- Macで資格情報を設定し直した
- 「すべて更新」がエラーなく終わる
- 更新後の行数・合計を、Windows版の結果と比べた
- データモデル(Power Pivot)を使っていないか確認した
- 両方の環境で使う場合、Macで保存したブックがWindowsでも更新できる
