2013-08-27 66 views
-2

無論如何要重寫這個公式來加速Excel處理?加快Excel公式

我的電子表格變得非常慢!

=SUMPRODUCT((Sheet1!J:J=Sheet2!A2)*(Sheet1!G:G="Windows XP")*(Sheet1!B:B="Desktop")*(Sheet1!M:M<>"Refresh >=Q2 2014")*(Sheet1!M:M<>"Release 2013")*(Sheet1!M:M<>"Release 2014")*(Sheet1!M:M<>"N/A NVM")*(Sheet1!M:M="No")*(Sheet1!M:M="N/A")) 
+0

你嘗試過什麼? – JustinJDavies

+0

上面的公式是我目前所擁有的 - 我需要一些幫助來重寫它以使它更快 – theshizy

+0

您的方法非常麻煩。考慮你多次重複相同操作的位置,並嘗試消除重複的努力。這可能是因爲你只需要使用適當的數據庫而不是Excel來體驗材料速度的改進 – JustinJDavies

回答

3

正如你所寫的你的公式總是會返回零,因爲最後兩個條件是相互排斥的 - 你的意思是最後兩個是<>而不是=(或你指的是錯誤的列)?

在我可以從使用全列的,你必須使用Excel 2007或後面看到任何情況下(當前的公式將給否則會出現錯誤),在這種情況下COUNTIFS會快很多,即假設最後兩個條件應我建議嘗試這個版本來調整:

=COUNTIFS(Sheet1!J:J,Sheet2!A2,Sheet1!G:G,"Windows XP",Sheet1!B:B,"Desktop",Sheet1!M:M,"<>Refresh >=Q2 2014",Sheet1!M:M,"<>Release 2013",Sheet1!M:M,"<>Release 2014",Sheet1!M:M,"<>N/A NVM",Sheet1!M:M,"<>No",Sheet1!M:M,"<>N/A")

如果需要使用SUMPRODUCT然後限制範圍,而不是使用全列

1

我不認爲真的有機會加快Excel公式。但是,您可以將文件保存爲二進制代碼(.xlsb)。失去一些兼容性,但提高性能。

你也可以停止自動(重新)計算公式,然後你必須手動刷新。這會讓你編輯文件更平滑。