建立 Excel 中資料表之間的關聯性

套用到
Microsoft 365 Excel Excel 2024 Excel 2021

您是否曾使用 VLOOKUP 將資料行從一個資料表移至另一個資料表? Excel 也包含內建的資料模型,可讓您建立資料表之間的關聯,這是使用 VLOOKUP 等查閱函數的替代方法。 您可以根據每個資料表中相對應的資料,建立兩個資料表間的關聯。 然後,即使資料表來自不同來源,您仍可以使用每個資料表中的欄位建立樞紐分析表和其他報表。 例如,您有客戶的銷售資料,可能會想要匯入銷售資料並建立時間智慧資料的關聯,以便依年度和月份分析銷售模式。

活頁簿中的所有資料表都會列在 [樞紐分析表欄位] 清單中。

從資料模型中的多個資料表建立樞紐分析表時,最常使用關聯。 這可讓您分析相關資料,而不需將其合併為單一表格。

注意

如果您的活頁簿包含資料模型,則可以從 [資料] 索引標籤管理資料表關聯。

當您從關聯式資料庫匯入相關資料表時,Excel 通常可以在幕後建立的資料模型中建立這些關聯。 針對所有其他情況,您必須手動建立關聯性。

  1. 請確認活頁簿包含至少兩個資料表,而且每個資料表都有資料欄對應到另一個資料表中的資料欄。
  2. 執行下列其中一個動作: 將資料格式化為表格,或 將外部資料匯入為 新工作表中的表格。
  3. 為每個資料表指定有意義的名稱:在 [表格工具] 中,按一下 [設計>資料表名稱> ] 輸入名稱。
  4. 驗證其中一個資料表內的欄具備唯一資料值,沒有重複。 Excel 只能在欄包含唯一值的情形下建立關聯。
    例如,若要將客戶銷售與時間智慧建立關聯,兩個資料表都必須包含相同格式的日期 (例如 2026 年 1 月 1 日) ,且至少有一個資料表 (時間智慧) 在資料行中只列出每個日期一次。
  5. 選取 [資料>關聯]。

如果 [關聯圖] 呈現灰色而無法使用,這是因為活頁簿中只有一個資料表。

  1. 在 [管理關聯性] 方塊中,選取 [新增]。
  2. [建立關聯] 對話方塊中,按一下 [表格] 的箭號,並從清單中選取資料表。 若為一對多關聯,這個資料表應該位於多端。 以我們的客戶和時間智慧為例,您應該要先選擇客戶銷售資料表,因為大多數的銷售可能會發生在任何一天。
  3. 在選取 [欄 (外部)] 時,選取含有 [相關欄 (主要)] 相關資料的欄。 例如,如果兩個資料表中都有某個日期欄,您現在就可以選擇該欄。
  4. 選取 [關聯資料表] 時,請選取至少有一個資料欄與您剛才在 [資料表] 中選取之資料表相關聯的資料表。
  5. 選取 [相關欄 (主要)] 時,請選取具有唯一值的欄,這些值應與您為 [欄] 選取之欄中的值相符。
  6. 選取 [確定]

深入了解 Excel 中資料表之間的關聯性

關聯性的相關附註

  • 當您將欄位從不同資料表拖曳到 [樞紐分析表欄位] 清單時,就會知道關聯是否存在。 如果系統未提示您建立關聯,表示 Excel 已有關聯資料所需的關聯資訊。

  • 建立關聯的方式類似於使用 VLOOKUP:資料欄必須包含相符的資料,如此 Excel 才能交互參照某個資料表中的資料列與另一個資料表。 在時間智慧的範例中,客戶資料表必須具備同時存在於時間智慧資料表的日期值。

    • 在 Excel 的資料模型中,關聯性通常是一對一或一對多。 多對多關聯性需要額外的模型化 (例如,使用查閱表格) 。 多對多關聯會導致循環相依性錯誤,例如「偵測到循環相依性」。如果您在兩個多對多資料表之間建立直接連線,或在資料表關聯鏈結 (建立間接連線,這些資料表關聯性在每一個關聯性中都是一對多,但從端對端) 檢視時為多對多,就會發生此錯誤。 詳細資訊請參閱資料模型中資料表之間的關聯
  • 與查閱公式不同,關聯不會複製資料。 相反地,它們會連結資料表,讓每個資料表中的欄位可以在樞紐分析表中一起使用。

  • 兩欄中的資料類型必須相容。 詳情請參閱 Excel 資料模型中的資料類型

  • 您可以用其他更直覺的方式建立關聯,特別是如果不確定要使用哪些欄的話。 請參閱在 Power Pivot 圖表檢視中建立關聯

「可能需要資料表之間的關聯」

當您新增欄位至樞紐分析表時,系統會通知您是否需要資料表關聯,才能理解您在樞紐分析表中選取的欄位。

在需要關聯時顯示的 [建立] 按鈕

雖然 Excel 可以告訴您何時需要關聯,但它無法告訴您要使用哪些資料表和資料行,或是否可建立資料表關聯。 嘗試執行下列步驟,以取得所需的答案。

步驟1:決定讓哪些資料表建立關聯

如果模型只包含幾個資料表,您可能一眼就能看出哪些是需要使用的。 但在較大的模型中,您或許會需要一些協助。 有一個方法是使用 Power Pivot 增益集中的 [圖表檢視]。 [圖表檢視] 能以視覺化的方式呈現資料模型中的所有資料表。 您可以使用 [圖表檢視],快速判斷哪些資料表與模型的其餘部分是分開的。

以圖表檢視顯示已中斷連線的資料表

注意

在樞紐分析表中使用時,可能會建立無效的不明確關聯。 假設您的所有資料表都以某種方式與模型中的其他資料表相關,但當您嘗試合併不同資料表中的欄位時,您會收到「可能需要資料表之間的關聯」訊息。 最可能的原因是您遇到了多對多關係。 針對您要使用的資料表,如果您追蹤資料表關聯的連鎖關係,則可能會發現您有兩個或多個一對多的資料表關聯。 並沒有輕鬆的因應措施能適用於每一種狀況,但您也許可以嘗試建立計算結果欄,將您想要使用的欄合併成一份資料表。

步驟 2:找出可以用來建立路徑並往來於資料表之間的欄。

在您識別哪個資料表與模型的其餘部分中斷連線之後,請檢閱其資料行,以判斷模型中其他位置的另一個資料行是否包含相符的值。

例如,假設您有一個模型包含依區域劃分的產品銷售資料,而您隨後匯入人口統計資料,查詢每個區域中的銷售狀況和人口統計趨勢之間是否有相互關聯。 因為人口統計資料來自不同的資料來源,其資料表一開始與模型的其餘部分是隔離的。 若要將人口統計資料與模型的其餘部分整合,您必須在其中一個人口統計資料表中找到與您已在使用的欄相對應的欄。 舉例來說,如果人口統計資料是依地區劃分,而您的銷售資料也依照地區來記載銷售狀況,您就可以尋找兩者之間共同的欄,例如州、郵遞區號或地區,在兩個資料集之間建立關聯以便提供查閱。

除了相符的值,建立關聯還有幾個額外的需求:

  • 在查閱欄中的資料值必須是唯一的。 換句話說,欄不能包含重複項目。 在資料模型中,Null 和空白字串相當於空白,這是獨特的資料值。 這表示查閱欄中不能有多個 Null。
  • 來源欄和查閱欄的資料類型必須相容。 如需資料類型的詳細資訊,請參閱資料模型中的資料類型

若要深入了解表格關聯,請參閱資料模型中表格之間的關聯

頁面頂端