0
我使用的Excel文件中的follwing COUNTIFS函數在BA列多個條件:的Excel COUNTIFS使用VBA
=(COUNTIFS(E$2:E2;E2;$G$2:G2;G2;$I$2:I2;I2;$N$2:N2;N2;$O$2:O2;O2;$R$2:R2;R2)=1)*1
我有超過15萬記錄,以便Excel中崩潰。是否有可能改進公式或使用vba代碼做同樣的事情?
我使用的Excel文件中的follwing COUNTIFS函數在BA列多個條件:的Excel COUNTIFS使用VBA
=(COUNTIFS(E$2:E2;E2;$G$2:G2;G2;$I$2:I2;I2;$N$2:N2;N2;$O$2:O2;O2;$R$2:R2;R2)=1)*1
我有超過15萬記錄,以便Excel中崩潰。是否有可能改進公式或使用vba代碼做同樣的事情?
在這個例子的情況下,我想指望這取決於多個條件唯一的記錄。公式=(COUNTIFS(E$2:E2;E2;$G$2:G2;G2;$I$2:I2;I2;$N$2:N2;N2;$O$2:O2;O2;$R$2:R2;R2)=1)*1
就像一個魅力,但我想用vba做同樣的事情。
Sub CountIfsFormula()
Dim varFilas As Long
Dim vari As Long
On Error GoTo errCountIfsFormula
varFilas = Cells(Rows.Count, "A").End(xlUp).Row
For vari = 2 To varFilas
Range("BA" & vari).Formula = "=(COUNTIFS(E$2:E" & vari & ",E" & vari & ",$G$2:G" & vari & ",G" & vari & ",$I$2:I" & vari & ",I" & vari & ",$N$2:N" & vari & ",N" & vari & ",$O$2:O" & vari & ",O" & vari & ",$R$2:R" & vari & ",R" & vari & ")=1)*1"
Range("BA" & vari).Value = CStr(Range("BA" & vari).Value)
Next vari
Exit Sub
約200K記錄需要約1小時。也許有更快的方法來做到這一點。
你可以發佈一個模擬你的數據原樣和預期結果 –
你仍然不明白你想用公式實現什麼,多一點解釋會有幫助。 –
我不確定你想要達到什麼目的,但是如果我冒險猜測,你正在計算BA列中1(真)的數量?如果是這樣,我建議你嘗試'= SUM(BA:BA)' – waqasahmed