為什麼我的PowerQuary得出的表格總是得出[Expression.Error]錯誤?

匿名
2020-08-08T16:50:11+00:00

大家好, 

我原數據是這樣的:

有3個不同的工作表

Jan:

Feb:

Mar:

現在我想將3個表格合併成一個並且需要

  1. 當原數據有更新時表格會自動更新
  2. 當工作表數量有增刪時, 表格會自動更新

完成時大約長這樣的:

我利用PowerQuary做出以下步驟:

步驟1:

步驟2:

步驟3:

步驟4:

步驟5:

步驟6:

步驟7:

現在我得出了一個合併的表格, 之後我嘗試在Jan工作表加上一個紀錄, 儲存並重新整理:

就會出現之下錯誤了:

請問為什麼呢? 我以上哪個步驟有錯? 我要如何才做到:

  1. 當原數據有更新時表格會自動更新
  2. 當工作表數量有增刪時, 表格會自動更新

謝謝指教!

用户隐私已被移除

Microsoft 365 與 Office | Excel | 家用版 | Windows

鎖定的問題。 此問題已從 Microsoft 支援服務社群移轉。 您可以對其是否有幫助進行投票,但無法對問題新增註解或回覆,或進行追蹤。

0 則留言 沒有留言
由問題作者接受的回答
匿名
2020-08-11T02:45:25+00:00

Hi bcccy,

关于您的第一个问题,我推荐您这么做:

1.在将每个月份的工作表内的数据转换成Table之后,选中整个Table,在左上角Table Name处改名为对应的月份,如我在Jan工作表中,table名改为Jan。

以此类推,在Feb与Mar中,我们也要进行相同的处理。

2.打开Power Query Editor, 导入test.xlsx内的table,此时您有可能会发现这里的query名字变成了 Jan1,Feb2,Mar3,但是不要紧这不影响我们之后要做的步骤。

3.进行Append Query, 在合并完成后,选中我们合并后的Query > 右键点击 >Advance Editor.

4.按照我的格式进行修改:

let

Source = Table.Combine({Table.AddColumn(#"Jan1", "source query", each "Jan")

, Table.AddColumn(#"Feb2", "source query", each "Feb")

, Table.AddColumn(#"Mar3", "source query", each "Mar")})

in

Source

点击完成,查看结果。

最后关于您的第二个问题,该问题应该是由OneDrive所引起的,所以我建议您在OneDrive for Business/OneDrive商务版这个分类下询问以获得最好的帮助。

Regards,

Alex Chen

此回答有幫助嗎?

有 1 人認為此回答有所幫助。
0 則留言 沒有留言
由問題作者接受的回答
匿名
2020-08-10T08:57:22+00:00

Hi bcccy,

很抱歉,並沒有自動的辦法哦。

每當您新增了一張工作表,您需要手動將這張工作表里的數據轉化為表格,在按照我上述的步驟合併您的query。

如果有自動化的方法的話,應該會需要使用巨集,我建議您在 Excel/ Microsoft Office 程式設計/ Office 2019 這個分類下進行提問。

以下是我找到的一篇使用巨集來完成您需求的教程:

VBA to Append Data from multiple Excel Worksheets into a Single Sheet – By Column。

Regards,

Alex Chen

此回答有幫助嗎?

有 1 人認為此回答有所幫助。
0 則留言 沒有留言

4 個其他答案

排序依據: 最實用
  1. 匿名
    2020-08-10T13:35:29+00:00

    Hi Alex, 謝謝你的解答, 另外, 請問一下, 我想在合併一個column 顯示各自的record是來自哪一張worksheet, 該如何做到呢?

    我猜應該是在這裡輸入公式?

    另外, 我發覺將Excel檔放到OneDrive後, 常用發生這錯誤, 我需要暫停同步並重開Excel才沒有問題, 想知道是不是沒有可能在同步的環境下使用PowerQuary?

    謝謝!

    此回答有幫助嗎?

    0 則留言 沒有留言
  2. 匿名
    2020-08-10T05:02:25+00:00

    你好Alex, 現在我成功將3張工作表合併了, 謝謝

    不過, 如果我新增了一張Apr的工作表, 我現在需要人手做新地查詢, 再人手合併, 請問有自動的方法, 一按refresh 就可以自動包括新增的工作表嗎?

    此回答有幫助嗎?

    0 則留言 沒有留言
  3. 匿名
    2020-08-09T00:52:24+00:00

    Hi bcccy,

    根據您的需求,我建議您嘗試一下Append Query這個功能,我會列下具體步驟。 由於我這邊使用的是英文版的Office,所以截圖和術語可能用英語來表達還請見諒。

    首先將 Jan, Feb, Mar 三個工作表下的數據全部轉換為表格。

     

    按下Ctrl + S 快速儲存您的檔案。

    前往資料分頁 > 取得資料 > Excel 檔案 > 選擇我們的 test.xlsx。

     

    多選,將我們先前轉換好的table 作為query導入。

    開啟PowerQuery Editor, 右鍵點擊左側的Query標籤欄 > New Query > Combine > Append query as new.

     

    將我們3個table 添加進去,點擊OK:

     

    至此我們的Query就創建好了,將其導入一個新的工作表。 然後您可以前往Jan 或是其他表格增加數據。

    每次添加完數據之後,要點擊保存,其一是為了保證數據不丟失,其二是因為,我們的query索引的是本檔,所以如果不保存的話,Power Query只會索引先前沒有修改過的那份文件,從而您新加的數據不會被正確導入。

    勾選中右方的Append query > Refresh。 數據就應該會出現在您的新表中了。

    希望上面的方法能帮助到您。

    Regards,

    Alex Chen。

    此回答有幫助嗎?

    0 則留言 沒有留言