看板 Office 關於我們 聯絡資訊
粗略說來 EXCEL 的速度是 樞紐 > 公式 > VBA 您問這篇說到vba的快速 #1CP_GVlc (Office) [ptt.cc] Re: [算表] 在有上千筆資料比對 那篇原因是vba一遍一遍的讀取儲存格,慢, 先存到陣列中,也就是在記憶體中,再讀取記憶體,快。 大量的sumif countif已是很慢,sumifs可想而知, 最好能想辦法由樞紐得出結果。 我並不清楚這個題目如果用VBA以讀成陣列的方式進行計算,有沒有比公式或樞紐快, 可能要有經驗的大大來分享了。 樞紐最快的意思,還包含了其他內建、定的較死的運算功能如篩選, 而VBA較慢的說法,舉個例: 有三千列數值就好,約只有三十列有值,其他都是零,想把零的砍掉, 1. 於是寫VBA時用FOR,每列檢查是否為零,然後刪掉→慢 2. 寫VBA時用篩選,複製結果出來,原處整個刪掉→快 同樣是寫VBA,法1.用自己寫的流程,就顯示VBA的速度慢, 法2.利用內建好的功能,速度差十萬八千里~ 題外話, 最近碰到要使用VLOOKUP或GETPIVOTDATA的決擇, 發現VLOOKUP可配合多執行緒,GETPIVOTDATA似乎不行~ ※ 引述《yenwang (愛情的流浪漢)》之銘言: : 軟體:excel : 版本:2010 : 目前正在進行資料的彙整 : 這部分需要用到計算公式 : 大概就是某幾個項次的總合 : 大多用到sumifs之類的 : 可因為我的資料都多達一萬五千筆以上 : 我將公式寫好後用 : 複製--->貼上公式 : 則電腦會計算幾十分鐘後才會有結果出來 : 不知道這部分有沒有可以加速的方式 : 還是說板上的大家有類似的經驗可以分享給我 : 至少我覺得2010比2007算起來快多了 : 但是遇到這龐大的資料計算 : 仍舊是很久很久ㄚ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.4.169