回覆列表
  • 1 # 使用者7630744456762

    發現題主把測試資料都上傳到網盤了,這還是我第一次遇到這麼認真、這麼考慮回答問題者便利的提問者。所以必須得回答,就把 @Wicky Liang 答案的具體操作寫出來吧。

    你的問題就是日常工作中最常用的應用之一:查詢引用

    滿足此需求的方法, @Wicky Liang 已經介紹了,臨時性的可用篩選,永久性的用查詢引用函式。下面分別介紹。

    高階篩選

    如果資料來源單元格和篩選的目標區域在同一個工作表,如下圖

    使用高階篩選即可滿足,高階篩選有以下功能:

    可以使用單元格區域中的值作為的條件,如題中的表2就是條件區域,可以將篩選結果複製到指定單元格,如果指定單元格指定了欄位,那麼只返回源表符合條件記錄的部分欄位。

    先看返回全部欄位的操作:

    篩選後,由於“複製到”的單元格區域沒有指定返回的欄位,所以篩選出的結果會將源表格的所有欄位都列示出來,效果上看好象F列欄位1是多出來的,如下圖

    如前所述,實際上我們可以目標單元格指定返回的欄位,比如在F1單元格輸入“欄位2”、G1單元格輸入“欄位3”,然後在“複製到”欄,指定為F1:G1,此時聰明的Excel會自動顯示"sheet1!指定"

    如下圖:

    返回結果如下:

    細心的你可能已經發現了,返回的欄位2、欄位3的值與欄位1不是正確的對應。這正是我要說的,原因如下:

    遇到這個問題,可以這樣解決:

    2、函式法

    Vlookup函式

    函式解釋:vlookup(查詢物件,查詢區域,要返回查詢區域的第幾列,精確查詢還是模糊查詢)

    回答本題的公式:

    =VLOOKUP($E2,[測試資料2.xls]Sheet1!$A$2:$C$12,2,0)

    =VLOOKUP($E2,[測試資料2.xls]Sheet1!$A$2:$C$12,3,0)

    如果列數較多,可以巢狀返回列號的函式

    =VLOOKUP($E2,[測試資料2.xls]Sheet1!$A$2:$C$12,COLUMN(),0)

    注意:

    查詢物件必須在查詢區域的第一列

    由於你的表格有上千行,建議使用vlookup函式查詢引用。

  • 中秋節和大豐收的關聯?
  • 隨著IT的不斷革命,什麼專業具有優勢?