
使用 PowerPivot,如何只尋找某一類別中的項目?這是一個例子:
item category number obera f6 7 artois f7 2 obera f7 3 ella f6 9
如果我選擇f6
,此範例的輸出將是:
ella
(它不會包含 obera,因為它也出現在 f7 類別中)。提前致謝。
編輯:我想要做的是對於每個類別(我有很多類別),顯示僅出現在該類別下而不是其他地方的項目。
答案1
我使用 Power Query 插件為此建立了一個解決方案。您可以從我的 OneDrive 下載它 - 就是這個文件Power Query 演示 - 僅屬於一個類別的項目
以下是我如何建造它的描述:
我使用 Power Query 從 Excel 表建立了一個查詢(「Table1」)。我取消選中“加載到工作表”選項 - 這僅用於下一個查詢的輸入。
然後,我從同一個 Excel 表建立了另一個查詢(「Table1 多類別」)。在該查詢中,我合併了「Table1」查詢,加入了 Item。然後我從「Table1」中展開了 Item 和 Category 列。請注意,此時我增加了行數,涵蓋了 Item 的所有組合。
然後我新增了一個自訂列「多類別」。公式就是:
[category] <> [NewColumn.category]
我已經加入了 Item,所以這測試了這個 item 是否有多個類別。然後我過濾了該列,只保留 TRUE 值。
然後,我新增了一個 Group By 來按項目和類別進行分組,並取得「多類別」列的最大值 - 這適合專案具有超過 2 個類別時的場景。
最後,我刪除了“計算”列,並再次取消選取“載入到工作表”選項 - 這僅用於下一個查詢的輸入。
接下來,我再次從原始 Excel 表開始建立另一個查詢(「Table1 Final」)。這次我在「Table1 多類別」查詢中合併,加入項目和類別,並包含不符合的行。
然後我擴展並重命名了“多類別”列,並將空值替換為 FALSE。該查詢被傳送到新工作表「多類別」上的新表。
最後,我在「多類別」工作表上的新表上建立了一個資料透視表。 「多類別」欄位告訴您哪些項目存在於多個類別中。
顯然,要達到這一點需要採取相當多的步驟。然而,考慮到所見即所得的 Power Query 編輯器,每個單獨的步驟都非常簡單且相當容易理解。這當然比調試 VBA 程式碼容易得多,而且比嘗試調試 Excel 公式好 100 倍。