2012-09-06 100 views
1

這確實給我們留下了相當長的一段時間,即使我們發現如何得到正確的結果,我們也確實想知道爲什麼SUMIF產生不正確的結果,而SUMPRODUCT產生了精確的結果當使用相同的條件時。使用SUMIF()和SUMPRODUCT()時出現的不同結果

這裏都是formulaes:

=SUMPRODUCT((Calcul!$J$2:$J$15000=Sommaire!J2)*(Calcul!$K$2:$K$15000)) 
=SUMIF(Calcul!$J$2:$J$15000,Sommaire!J2, Calcul!$K$2:$K$15000) 

正如你可以看到:完全相同的範圍內,完全相同的比較,完全相同的總和範圍。

有關數據的更多信息:在兩張表('Sommaire'和'Calcul')中,單元格包含的數據類似於僅包含數字但被視爲文本的序列號。

=IFERROR(A2&B2&C2&D2&E2&I2, "ERREUR") 

在兩種不同的方式(使用過濾器過濾直接鍵或「序列號」和:該數是從串聯從列A,B,C,d,E和I,使得式是數據由第二個直接過濾密鑰的每個組成部分),我們得到完全相同的數據集,當用手計算時,它給出了與返回的值相同的值。

任何想法?我們真的不能拿出任何理由爲什麼返回的結果是不同的。

謝謝。

+0

但是,如果「

該溢出的鍵的例子對待爲文本「和/或連接(不轉換回數字)和/或用字母加前綴不會總計這些總是= 0? – pnuts

+0

哦,對不起。這只是關鍵部分,數據本身只是數字(現金)。 – ApplePie

+0

[this](http://support.microsoft.com/kb/269370)是否可以幫助解釋? – pnuts

回答

0

我們終於找到了解決方案。看起來由於某種原因SUMIF強制將數字字符串作爲數字處理。因爲我們的關鍵是相當大的,它不是不可能達到某種整數容量和溢出。如果我們在它前面附加一個字母,我們會得到與我們使用SUMPRODUCT時相同的結果。

01003046014910111616 
01000145950198116308 

而那些鍵,具有完全相同的式(只是一個C在前面所附),返回預期的結果::

C01003046014910111616 
C01000145950198116308 
相關問題