Excel for the Mac には、Power Query (Get & Transform とも呼ばれます) テクノロジが組み込まれており、データ ソースのインポート、更新、認証、Power Query データ ソースの管理、資格情報のクリア、ファイル ベースのデータ ソースの場所の変更、要件に合ったテーブルへのデータの整形を行う際に、より高い機能を提供します。 VBA を使用してPower Queryクエリを作成することもできます。
重要: 現在のチャネル プレビューでは、XML、JSON、SharePoint Online List、OData、空白テーブル、空のクエリのデータ ソースのみをインポートできます。 SQL Server データベース データ ソースは Insiders Beta でのみインポートできます。
-
[データの取得] > [データの取得] を選択します。
-
目的のデータ ソースを選択するには、データの取得 (Power Query) を選択します。
-
[ データ ソースの選択 ] ダイアログ ボックスで、使用可能なデータ ソースのいずれかを選択します。
-
データ ソースに接続します。 各データ ソースに接続する方法の詳細については、「データ ソース からデータをインポートする」を参照してください。
-
インポートするデータを選択します。
-
[読み込み] ボタンをクリックしてデータを 読み込みます 。
計算結果
インポートされたデータが新しいシートに表示されます。
次のステップ
Power Query エディターを使用してデータを整形および変換するには、[データの変換] を選択します。 詳細については、「Power Query エディターを使用した図形データ」を参照してください。
重要: この機能は、バージョン 16.64 (ビルド 22072501) 以降のExcel for Macを実行する現在のチャネル プレビューまたはベータ チャネルのいずれかを使用して Insider で使用できます。 以前は、Office Insider プログラムに参加しているベータ チャネル の Insider でのみ利用できるようになりました。 Microsoft 365 サブスクライバーの場合は、最新バージョンの Office があることを確認してください。
Excel ブック、Text/CSV、XML、JSON、SQL Server Database、SharePoint Online List、OData、空白テーブル、空白クエリなど、さまざまなデータ ソースからPower Queryを使用して Excel にデータをインポートできます。
手順
-
[データ> データの取得 (Power Query) を選択します。
-
クエリ エディターを開くには、[起動Power Query エディター] を選択します。
ヒント: [データの取得 ](Power Query) を選択し、データ ソースを選択し、[次へ] をクリックして、クエリ エディターにアクセスすることもできます。
-
Excel for Windows の場合と同様に、クエリ エディターを使用してデータを整形および変換します。
詳細については、「Excel ヘルプのPower Query」を参照してください。
-
完了したら、[ ホーム ]> [ 閉じる] & [読み込み] を選択します。
計算結果
新しくインポートされたデータが新しいシートに表示されます。
SharePoint ファイル、SharePoint リスト、SharePoint フォルダー、OData、テキスト/CSV ファイル、Excel ブック (.xlsx)、XML ファイルと JSON ファイル、ローカル テーブルと範囲、Microsoft SQL Server データベースなどのデータ ソースを更新できます。
初めて更新する
ブック クエリでファイル ベースのデータ ソースを初めて更新しようとすると、ファイル パスの更新が必要になる場合があります。
-
[データ]、[ データの取得] の横にある矢印、および [データ ソースの設定] の順に選択します。 [ データ ソース設定 ] ダイアログ ボックスが表示されます。
-
接続を選択し、[ ファイル パスの変更] を選択します。
-
[ ファイル パス ] ダイアログ ボックスで、新しい場所を選択し、[ データの取得] を選択します。
-
[閉じる] を選択します。
後続の時間を更新する
更新するには:
-
ブック内のすべてのデータ ソースで、[ データ > すべて更新] を選択します。
-
特定のデータ ソースを選択し、シート上のクエリ テーブルを右クリックして、[更新] を選択 します。
-
ピボットテーブルを選択し、ピボットテーブルでセルを選択し、 ピボットテーブル分析 > [データの更新] を選択します。
SharePoint、SQL Server、OData、またはアクセス許可を必要とするその他のデータ ソースに初めてアクセスするときは、適切な資格情報を指定する必要があります。 資格情報をクリアして新しい資格情報を入力することもできます。
資格情報の入力
クエリを初めて更新すると、ログインを求められる場合があります。 認証方法を選択し、ログイン資格情報を指定してデータ ソースに接続し、更新を続行します。
ログインが必要な場合は、[ 資格情報の入力 ] ダイアログ ボックスが表示されます。
次に例を示します。
-
SharePoint 資格情報:
-
SQL Server資格情報:
資格情報をクリアする
-
[データ >データの取得>データ ソース設定] を選択します。
-
[ データ ソース設定] ダイアログ ボックスで、目的の接続を選択します。
-
下部にある [ Clear Permissions] を選択します。
-
これが目的であることを確認し、[削除] を選択 します。
Power Query エディターでの作成はExcel for Macでは使用できませんが、VBA ではPower Query作成がサポートされています。 Excel for Windows からファイル内の VBA コード モジュールをExcel for Macに転送するには、2 つの手順を実行します。 このセクションの最後に、サンプル プログラムが用意されています。
手順 1: Excel for Windows
-
Excel Windows では、VBA を使用してクエリを開発します。 Excel のオブジェクト モデルで次のエンティティを使用する VBA コードは、クエリ オブジェクト、WorkbookQuery オブジェクト、Workbook.Querys プロパティ Excel for Macでも機能します。詳細については、「 Excel VBA リファレンス」を参照してください。
-
Excel で、Alt キーを押しながら F11 キーを押して Visual Basic エディターが開かれていることを確認します。
-
モジュールを右クリックし、[ ファイルのエクスポート] を選択します。 [エクスポート] ダイアログ ボックスが表示されます。
-
ファイル名を入力し、ファイル拡張子が .bas であることを確認して、[保存] を選択 します。
-
オンライン サービスに VBA ファイルをアップロードして、Mac からファイルにアクセスできるようにします。
Microsoft OneDrive を使用できます。 詳細については、「Mac OS X 上の OneDrive でファイルを同期する」を参照してください。
手順 2: Excel for Mac
-
VBA ファイルをローカル ファイル ("手順 1: Excel for Windows" で保存し、オンライン サービスにアップロードした VBA ファイル) にダウンロードします。
-
Excel for Macで、[ツール >マクロ > Visual Basic エディター] を選択します。 Visual Basic エディター ウィンドウが表示されます。
-
[プロジェクト] ウィンドウでオブジェクトを右クリックし、[ ファイルのインポート] を選択します。 [ ファイルのインポート ] ダイアログ ボックスが表示されます。
-
VBA ファイルを見つけて、[ 開く] を選択します。
サンプル コード
適応して使用できる基本的なコードを次に示します。 これは、1 から 100 までの値を持つリストを作成するサンプル クエリです。
Sub CreateSampleList()
ActiveWorkbook.Queries.Add Name:="SampleList", Formula:= _
"let" & vbCr & vbLf & _
"Source = {1..100}," & vbCr & vbLf & _
"ConvertedToTable = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)," & vbCr & vbLf & _
"RenamedColumns = Table.RenameColumns(ConvertedToTable,{{""Column1"", ""ListValues""}})" & vbCr & vbLf & _
"in" & vbCr & vbLf & _
"RenamedColumns"
ActiveWorkbook.Worksheets.Add
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=SampleList;Extended Properties=""""" _
, Destination:=Range("$A$1")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array("SELECT * FROM [SampleList]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "SampleList"
.Refresh BackgroundQuery:=False
End With
End Sub
-
Excel ブックを開きます。
-
外部データ接続が無効になっているというセキュリティ警告が表示された場合は、[ コンテンツを有効にする] を選択します。
-
[ファイル アクセスの許可] ダイアログ ボックスが表示されたら、[選択] を選択し、データ ソース ファイルを含む最上位フォルダーにアクセス権を付与するを選択します。
-
[ テキストからデータ > (レガシ)] を選択します。 Finder ダイアログ ボックスが表示されます。
-
.txtファイルまたは.csv ファイルを見つけ、[開く] を選択します。テキスト インポート ウィザードが表示されます。
ヒント 選択したデータ ペインのプレビューを繰り返し確認して、選択内容を確認します。 -
最初のページで、次の操作を行います。
ファイルの種類 テキスト ファイルの種類を選択するには、[区切り] または [固定幅] を選択します。
行番号 [ 行のインポートの開始] で、インポートするデータの最初の行を指定する行番号を選択します。
文字セット [ ファイルの配信元] で、テキスト ファイルで使用される文字セットを選択します。 ほとんどの場合、この設定は既定のままにできます。 -
2 番目のページで、次の操作を行います:
[区切り]
最初のページで [区切り 記号] を選択した場合は、[ 区切り記号] で区切り記号文字を選択するか、[その他] チェック ボックスを使用して、一覧にない文字を入力します。
データにデータ フィールド間に複数の文字の区切り記号が含まれている場合、またはデータに複数のカスタム区切り記号が含まれている場合は、[連続する区切り記号を 1 つとして扱う ] を選択します。
テキスト修飾子で、テキスト ファイル内の値を囲む文字 (最も多くの場合は引用符 (") 文字) を選択します。固定幅
最初のページで [固定幅 ] を選択した場合は、手順に従って、[ 選択したデータのプレビュー ] ボックスで区切り線を作成、削除、または移動します。 -
3 番目のページで、次の操作を行います。
[選択したデータのプレビュー] で各列を選択し、必要に応じて別の列形式に変更します。 さらに日付形式を設定し、[ 詳細設定 ] を選択して数値データの設定を変更できます。 インポート後にデータを変換することもできます。
[ 完了] を選択します。 [ データのインポート ] ダイアログ ボックスが表示されます。 -
データを追加する場所 (既存のシート、新しいシート、またはピボットテーブル) を選択します。
-
[OK] を選択します。
接続が動作していることを確認するには、一部のデータを入力し、[ 接続 ]> [更新] を選択します。
-
[データ >元SQL Server ODBC] を選択します。 [SQL Server ODBC データ ソースへの接続] ダイアログ ボックスが表示されます。
-
[サーバー名] ボックスにサーバーを入力し、必要に応じて [データベース名] ボックスにデータベースを入力します。
データベース管理者からこの情報を取得します。 -
[ 認証] で、一覧から [ ユーザー名/パスワード]、[ Kerberos]、または [NTLM] の方法を選択します。
-
[ユーザー名] ボックスと [パスワード] ボックスに資格情報を入力します。
-
[接続] を選択します。 [ナビゲーター] ダイアログ ボックスが表示されます。
-
左側のウィンドウで、目的のテーブルに移動し、それを選択します。
-
右側のウィンドウで SQL ステートメントを確認します。 SQL ステートメントは、必要に応じて変更できます。
-
データをプレビューするには、[実行] を選択します。
-
準備ができたら、[データを返す] を選択します。 [ データのインポート ] ダイアログ ボックスが表示されます。
-
データを追加する場所 (既存のシート、新しいシート、またはピボットテーブル) を選択します。
-
[プロパティ] ダイアログ ボックスの [ 使用法 ] タブと [定義 ] タブで接続 プロパティ を設定するには、[ プロパティ] を選択します。 データをインポートしたら、[ データ > 接続] を選択し、[ 接続のプロパティ ] ダイアログ ボックスで [ プロパティ] を選択することもできます。
-
[OK] を選択します。
-
接続が動作していることを確認するには、一部のデータを入力し、[ データ ]> [すべて更新] を選択します。
SQL Databaseではない外部ソース (FileMaker Pro など) を使用する場合は、Mac にインストールされている Open Database Connectivity (ODBC) ドライバーを使用できます。 ドライバーの情報は、この Web ページに記載されています。 データ ソースのドライバーがインストールされたら、次の手順に従います。
-
データベースからデータ >を選択します (Microsoft Query)。
-
データベースのデータ ソースを追加し、[OK] を選択します。
-
SQL Server資格情報プロンプトで、認証方法、ユーザー名、パスワードを入力します。
-
左側で、サーバーの横にある矢印を選択してデータベースを表示します。
-
目的のデータベースの横にある矢印を選択します。
-
目的のテーブルを選択します。
-
データをプレビューするには、[実行] を選択します。
-
準備ができたら、[データを返す] を選択します。
-
[ データのインポート ] ダイアログ ボックスで、データを配置する場所 (既存のシート、新しいシート、またはピボットテーブル) を選択します。
-
[OK] を選択します。
-
接続が動作していることを確認するには、一部のデータを入力し、[ データ ]> [すべて更新] を選択します。
アクセス許可が機能していない場合は、最初にアクセス許可をクリアしてからログインしない場合があります。
-
[データ >接続] を選択します。 [ ブック接続 ] ダイアログ ボックスが表示されます。
-
一覧で目的の接続を選択し、[ アクセス許可のクリア] を選択します。