[PowerQuery]Excel.Workbookでエラー(キーがテーブルの複数の行に一致しました)が発生

2021-11-21

はじめに

Excelブックから「売上」シートを読込んでデータを取得しようとしたら(Excel.Workbookを使用)以下のエラーが発生した.

Expression.Error: キーがテーブルの複数の行に一致しました.
詳細:
    Key=
        Item=売上
    Table=[Table]

結論

  1. 同じ名前のシートとテーブルがあると,このエラーが発生する.今回の場合は「売上」の名前をシートとテーブル両方に使っていた.
  2. シートからデータを取得する場合は,Excel.WorkbookKind="Sheet"を追記する.
  3. テーブルからデータを取得する場合は,Excel.WorkbookKind="Table"と記載する.

作成例

シートとテーブルに同じ名前(売上)をつける.

シート テーブル

クエリでItem="売上"を指定して開くとエラーになる.

= Excel.Workbook(File.Contents("C:\Users\foo\元データ.xlsx")){[Item="売上"]}[Data]

Kind="Sheet"を指定するとエラーにならない(Kind="Table"でもエラーにはならない).

= Excel.Workbook(File.Contents("C:\Users\foo\元データ.xlsx")){[Item="売上", Kind="Sheet"]}[Data]

環境

  • Windows 10 Pro
  • Excel 365