使用vlookup嵌套INDIRECT函數實現跨表數據引用


這是一個使用 vlookup 函數嵌套 INDIRECT 函數來實現跨工作表數據引用的教程。

某小學決定要抽查本校三年級三個班的期末考情況,抽查方法為在每個班中抽查5名學生,將這15名學生的期末考情況匯總到一個表中考察。

工具/原料

 
  • 電子表格軟件
  • vlookup 、 INDIRECT

方法/步驟

 
  1. 1

    該小學現已在一個工作簿中建立《三年1班》、《三年2班》、《三年3班》3張工作表,如圖:

    使用vlookup嵌套INDIRECT函數實現跨表數據引用
  2. 2

    現在每班5名同學也已抽出,如圖:

    使用vlookup嵌套INDIRECT函數實現跨表數據引用
  3.  

    現在要做的,就是要在《成績抽查》工作表里面,引用《三年1班》、《三年2班》、《三年3班》3張工作表中被抽查的學生的成績。應該怎么做呢?

  4.  

    使用 VLOOKUP 函數引用數據

    根據常規的做法,我們可以使用 VLOOKUP 函數實現數據的引用。

    我們可以在《成績抽查》工作表 D3 單元格中填寫公式:

    =VLOOKUP(A3,三年1班!A3:E17,3,FALSE)

     

     

  5.  

    公式講解:

    使用vlookup嵌套INDIRECT函數實現跨表數據引用
  6.  

    ① VLOOKUP函數,表示搜索一個或多個數據列。

    ② 表示將單元格 A3 的值作為搜索內容。

    ③ 表示在工作表《三年1班》單元格 A3:E17 的范圍內搜索是否有與單元格 A3 的值相匹配的內容。

    ④ 如果找到了相匹配的值,則返回工作表《三年1班》單元格 A3:E17 第3列的對應內容。

    ⑤ "FALSE",表示查找時要求完全匹配,而不是模糊匹配。

  7.  

    我們把此公式填充到 D4:D17,執行結果如下:

    使用vlookup嵌套INDIRECT函數實現跨表數據引用
  8.  

    為什么 D8:D17 單元格會出現 "#N/A" 這樣的結果呢?這是因為所要查找的數據分散在三個工作表,而原來的公式只是在《三年1班》這一個工作表中查找。因為在工作表《三年1班》中查找不到2班、3班的學生,所以公式結果出錯。那有沒有一個函數能和 VLOOKUP 函數結合在一起,幫助我們實現跨工作表的數據引用?

    有的,那就是 INDIRECT 函數。

  9.  

    使用 INDIRECT 函數,使數據引用實現跨工作表

     

      公式修改  我們現在考慮如何修改我們最先列出的那個公式。其中一個有效的方法,是把上一個公式中 "三年1班!A3:E17" 這一部分替換為 "INDIRECT($C3&"!A3:E17")" 。

      公式講解:

    使用vlookup嵌套INDIRECT函數實現跨表數據引用
  10.  

    我們先來看分式①。分式①是一個文本函數。表示將C3單元格和  "!A3:E17"  這個字符串聯合起來,組成一個新字符串。C3單元格中的數值為 "三年1班" ,和  "!A3:E17"  這個字符串組合后就成為 "三年1班!A3:E17" 。所以這個公式此時就相當於:

     

     

    =INDIRECT("三年1班!A3:E17")

     

     

    而它等價於:

     

     

    =三年1班!A3:E1

     

     

  11.  

    所以我們就得到了我們所需要的單元格的引用。因此,我們將我們給出的第一個公式

     

     

    =VLOOKUP(A3,三年1班!A3:E17,3,FALSE)

     

     

    中 "三年1班!A3:E17" 這一部分替換為 "INDIRECT("三年1班!A3:E17")" ,就修改成為如下的新公式:

     

     

    =VLOOKUP(A3,INDIRECT($C3&"!A3:E17"),3,FALSE)

     

     

     

    我們將這個公式填充,公式就能根據C列中所列出的不同班級,在相應工作表中查找和引用相關數據,這樣顯示結果就正常了。

    使用vlookup嵌套INDIRECT函數實現跨表數據引用
  12.  

    完成工作表我們再在E3填寫公式:

     

     

    =VLOOKUP(A3,INDIRECT($C3&"!A3:E17"),4,FALSE)

     

     

     

    在F3填寫公式:

     

     

    =VLOOKUP(A3,INDIRECT($C3&"!A3:E17"),5,FALSE)

     

     

     

    並填充,最終完成這一個數據表:

    使用vlookup嵌套INDIRECT函數實現跨表數據引用 
     
    電子表格中函數嵌套使用會大大提高辦公效率,大家應該多多使用練習。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM