2693 |
Excel利用VLOOKUP函數抓取最新項目 |
陳依萍:「錦子老師,小弟最近在製作管理用的Excel TOOL,目前使用VLOOKUP函數來將List工作表資料置換到總表的部分已經完成,不過苦於不知道該如何修改來讓Excel自動抓取List工作表裡的最新項目顯示於總表工作表當中,因為公司大家電腦使用的語系都不太相同(有日文、英文、中文)所以原則上不使用VBA來寫(雖然我還是不懂VBA寫法就是...)不然語系不同會有問題。
第一張是總表工作表
第二張是list工作表
目前寫的函數內容是:=IF(ISERROR(VLOOKUP([@番号],表格1[#全部],2,0)),"",VLOOKUP ([@番号],表格1[#全部],2,0))」
錦子老師:「首先點取總表工作表B2儲存格輸入公式:
=IFERROR(OFFSET(LIST!B$1,SUMPRODUCT(LARGE((LIST!$A$2:$A$100=總表!$A2)*(ROW($B$2:$B$100)),1))-1,,,),"")
將公式複製到B2:J20儲存格。
【公式解說】
先抓取LIST工作表中A欄資料等於總表工作表A欄資料的儲存格(LIST!$A$2:$A$100=總表!$A2)*(ROW($B$2:$B$100)。
再抓取符合條件的儲存格列號最大的那一個,LARGE((LIST!$A$2: $A$100=總表!$A2)*(ROW($B$2:$B$100)),1),那是因為要抓取最新的。
最後由於是要傳回LIST工作表由B欄開始一直抓到J欄的內容,故使用OFFSET函數從B1儲存格開始向下移動前面傳回的列號代表的列數減1 OFFSET(LIST!B$1,SUMPRODUCT(LARGE ((LIST!$A$2:$A$100=總表!$A2)*(ROW($B$2:$B$100)),1))-1,,,)。
如果LIST工作表沒有總表工作表A欄中的資料,則要將該項目B欄到J欄儲存格不填入資料IFERROR(OFFSET(LIST!B$1,SUMPRODUCT(LARGE((LIST!$A$2:$A$100=總表!$A2)*(ROW ($B$2:$B$100)),1))-1,,,),"")。
以上就是今天主要學習的知識點,希望對大家有所幫助~~有什麼問題歡迎留言,我會儘量及時的給大家答覆~~
部落格相關範例
2021.11.03 |
|
2021.11.02 |
|
2021.11.01 |
|
2021.10.31 |
|
2021.10.30 |
|
2021.10.29 |
|
2021.10.28 |
|
2021.10.27 |
|
2021.10.26 |
|
2021.10.25 |
|
2021.10.24 |
|
2021.10.23 |
|
2021.10.22 |
|
2021.10.21 |
|
2021.10.20 |
|
2021.10.19 |
|
2021.10.18 |
|
2021.10.17 |
留言列表