早上臨時(shí)起意,測(cè)試excel的countif在mac os和win下的執(zhí)行效率。用的都是office365。
測(cè)試環(huán)境:
兩個(gè)設(shè)備都是筆記本。
處理器 Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz 1.99 GHz
RAM 16.0 GB
系統(tǒng)類型 64 位操作系統(tǒng), 基于 x64 的處理器
Mac的cpu是Apple M3 芯片 (8 核中央處理器、10 核圖形處理器和 16 核神經(jīng)網(wǎng)絡(luò)引擎),內(nèi)存16GB。
測(cè)試代碼:
Public Sub doExec()
Dim inti As Integer
Dim i As Long
Dim j As Long
For i = 1 To 20
For j = 636 To 1 Step -1
Sheet1.Activate
Sheet1.Range("A" & i) = WorksheetFunction.CountIf(Sheet2.Range("a1:a500"), j)
Sheet1.Range("b" & i) = Now()
DoEvents
Next
Sheet1.Range("A" & i) = i
Next
End Sub
測(cè)試結(jié)果:
win:平均2秒左右就能計(jì)算出一個(gè)range的取值。

image.png
mac:平均約8秒

image.png
emmm:
本以為差距應(yīng)該不大或者mac勝出,對(duì)mac下excel宏的執(zhí)行效率失望了。
是mac下的vb語法效率低啊還是M3效率不如intel。。。
ps:
mac下安裝虛擬機(jī)后:1分52秒

image.png