回覆列表
  • 1 # Excel到PowerBI

    從問題的描述來看,要在Excel中根據特定條件“例如程式碼+名稱”來取數,但是兩個表編碼與名稱均有出入,因此,簡單使用VLookup函式不行,這種情況下,首先要定義明確編碼和名稱有出入的具體情況,然後根據具體情況進行相應的處理後,再進行相應的匹配和引用。

    同時,要使這個過程自動化,一是可以考慮使用VBA,再者可以考慮使用Excel 2016的新功能Power Query(Excel2010或Excel2013可到微軟官方下載相應的外掛)。相比較而言,個人更推薦使用Power Query。

    一、多列匹配處理

    在使用Power Query的情況下,針對問題中提及的多列匹配問題,可參考如下例子的處理:

    Step01:獲取資料到PowerQuery

    Step02:單擊【開始/合併查詢】

    Step03:選擇兩表之間用於匹配的列(多列匹配時,只要在選擇匹配列時按住ctrl鍵就可以選擇多列,要注意兩個表選擇匹配列的順序要一致)。如下圖所示:

    Step04:展開要引用的列資訊

    Step05:將資料返回Excel

    二、根據關鍵詞模糊匹配

    另外,考慮到表間資料的差異,可能需要考慮模糊匹配或先做其他相關處理再進行匹配引用,以下以模糊匹配(根據關鍵詞進行匹配)為例,進行簡單說明:

    Step01:獲取關鍵詞及資料來源表資料到Power Query

    Step02:關鍵詞查詢中新增自定義列,如下圖所示:

    Step03:對待分類表新增自定義列

    Step04:對兩表進行合併查詢

    Step05:展開合併結果

    Step06:新增自定義列判斷是否包含關鍵詞,公式=Text.Contains([物料名稱],[NewColumn.關鍵詞])

    Step08:選擇需要保留的資料列

    Step09:將資料返回Excel

    以上透過兩個簡單的例子體現在Power Query中可以實現的按關鍵字模糊匹配以及按多列進行合併查詢(匹配查詢)的功能,針對問題中所描述的情況,可以綜合運用Power Query中的相關功能,按照資料的存在的邏輯進行處理,然後做相應的資料引用。

  • 中秋節和大豐收的關聯?
  • 桉樹對土地是否有危害?