Excel 使用lookup vlookup 以及index+match 3種公式速度性能效率對比(詳細數據分析)
- 2020-05-31 08:00:00
- zstmtony 原創(chuàng)
- 17059
Excel的表格如果有大量的計算公式,打開和計算的速度會有些慢,特別是數據量比較大時會有些卡頓,為了找到最佳性能的公式,決定對lookup vlookup 以及index+match 3種公式速度性能效率對比
以下對比的環(huán)境是完全一致的
1.使用同一個文件復制出來。格式完全一樣
2.數據行數完全一樣
3.表格列數完全 一樣(除了第2種多了一列輔助列)
4.測試電腦 操作系統(tǒng) 內存 CPU完全 一樣
測試結果:
1.直接先match找到行號,再用index取到各列的相應數據
物料名稱使用的公式(其它類同)
=IFERROR(INDEX(系統(tǒng)_物料基本信息表[物料名稱],MATCH([@物料編碼],系統(tǒng)_物料基本信息表[物料編碼],0)),"")
新增一行數據到彈出錄入窗口的時間:1.2188 1.1719
2.先做一個輔助列 物料序號,用match找到行號填入到 物料序號輔助列,其它各列用index取到各列的相應數據,但都共用這個物料序號輔助列
物料序號輔助列 公式
=MATCH([@物料編碼],系統(tǒng)_物料基本信息表[物料編碼],0)
物料名稱使用的公式(其它類同)
=IFERROR(INDEX(系統(tǒng)_物料基本信息表[物料名稱],[@物料序號]),"")
新增一行數據到彈出錄入窗口的時間:1.1797 1.1328
3.直接使用lookup ,但物料表未排序(有些數據取不準)
物料名稱使用的公式(其它類同)
=IFERROR(LOOKUP([@物料編碼],系統(tǒng)_物料基本信息表[物料編碼],系統(tǒng)_物料基本信息表[物料名稱]),"")
新增一行數據到彈出錄入窗口的時間:1.3711 1.3242
4.直接使用vlookup
物料名稱使用的公式(其它類同)
=IFERROR(VLOOKUP([@物料編碼],系統(tǒng)_物料基本信息表[[物料編碼]:[單價]],COLUMN(系統(tǒng)_物料基本信息表[物料名稱])-COLUMN(系統(tǒng)_物料基本信息表),FALSE),"")
新增一行數據到彈出錄入窗口的時間:1.5039 1.6602
5.使用Vlookup +非連續(xù)列
=IFERROR(VLOOKUP([@物料編碼],IF({1,0},系統(tǒng)_物料基本信息表[物料編碼],系統(tǒng)_物料基本信息表[物料名稱]),2,FALSE),"")
出乎意料,速度更慢:3.1992
方法說明:
1、INDEX函數:返回表中的值。
=INDEX(在哪兒找,第幾行)
2、MATCH函數:返回指定數值在指定區(qū)域中的位置。
=MATCH(找誰,在哪兒找,匹配方式)
3、VLOOKUP函數:縱向查找返回表中的值。缺點:查閱值需要位于查找區(qū)域的第一列。
=VLOOKUP(找誰,在哪兒找,第幾列,匹配方式)
總結:
1.帶輔助列的index + match 函數的方法最快
2.不帶輔助列的index + match 函數的方法較快且不需要輔助列,方便,推薦使用
3.lookup速度更慢,且如果不對物料資料按物料編碼先進行排序的話,取的數據會不準確
用lookup函數,如果用lookup查找前要對文字一列進行升序排序。然后就可以正確查找了
原因是Lookup函數采用的二叉樹的查找方式,如果不排序,其運行機制將發(fā)生偏差,產生上述問題
4.vlookup速度第2慢 ,使用Vlookup +非連續(xù)列 最慢
vlookup函數則必須將源數據區(qū)域搜索主鍵列調換順序 ,放在第1列
網上有2重vlookup的方法比較快,擔前提也需要先對 物料資料表先按物料編碼進行排序
5.另vlookup 也可搜索 非連續(xù) 的2列
=VLOOKUP(E1,IF({1,0},$B$1:$B$3,$A$1:$A$3),2,0)
IFERROR(VLOOKUP([@物料編碼],IF({1,0},系統(tǒng)_物料基本信息表[物料編碼],系統(tǒng)_物料基本信息表[物料名稱]),2,FALSE),"")
另數據行數越多,所有使用公式的速度都會成比例下降
以上是2000多行數據
如果到4000多行數據,則新增行時速度會下降一半左右。
- office課程播放地址及課程明細
- Excel Word PPT Access VBA等Office技巧學習平臺
- 將( .accdb) 文件格式數據庫轉換為早期版本(.mdb)的文件格式
- 將早期的數據庫文件格式(.mdb)轉換為 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 數據庫引擎和訪問連接引擎以阻止對遠程數據庫的訪問(remote table)
- Access 365 /Access 2019 數據庫中哪些函數功能和屬性被沙箱模式阻止(如未啟動宏時)
- Access Runtime(運行時)最全的下載(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些電腦無法正常注冊的解決辦法(regsvr32注冊時卡?。?/a>
- office使用部分控件時提示“您沒有使用該ActiveX控件許可的問題”的解決方法
- RTF文件(富文本格式)的一些解析
- Access樹控件(treeview) 64位Office下出現(xiàn)橫向滾動條不會自動定位的解決辦法
- Access中國樹控件 在win10電腦 節(jié)點行間距太小的解決辦法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 樹控件 ListView列表等64位MSCOMMCTL.OCX控件下載
- VBA或VB6調用WebService(直接Post方式)并解析返回的XML
- 早期PB程序連接Sqlserver出現(xiàn)錯誤
- MMC 不能打開文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由于文件不存在,不是一個MMC控制臺,或者用后來的MMC版
- sql server連接不了的解決辦法
- localhost與127.0.0.1區(qū)別
- Roych的淺談數據庫開發(fā)系列(Sql Server)
- sqlserver 自動備份對備份目錄沒有存取權限的解決辦法
- 安裝Sql server 2005 express 和SQLServer2005 Express版企業(yè)管理器 SQLServer2005_SSMSEE
聯(lián)系人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |