UNIQUE() 函數和動態數組公式的不尋常之處

UNIQUE() 函數和動態數組公式的不尋常之處

最近,我有大約 150,000 行的數據,其中大約 100,000 行在 E 列中具有唯一值。

Column Heading
1
2
2
3
...
99999
99999
100000

為了計算唯一行,我嘗試COUNT(UNIQUE(E:E))-1並收到了“-1”的輸出。然而,由於一次愉快的意外,我發現這COUNT(UNIQUE(E:E)+0)-1給了我預期的輸出「100000」。我很少使用動態數組公式,所以我想了解為什麼這會產生影響。

我認為差異可能歸因於我使用整個列,因為我知道有時 COUNTIFS/SUMIFS 可能會出現問題,但COUNT(UNIQUE(E1:E150001))-1仍然產生“-1”,並且COUNT(UNIQUE(E1:E150001)+0)-1仍然產生“100000”。

有人可以跟我解釋一下這種行為嗎? COUNT() 函數中的「+0」如何「解決」我的問題? 「+0」服務的目的是什麼?

非常感謝你的幫忙!

答案1

E 列中的資料可能儲存為文字。由於 COUNT 函數只計算數值,因此它將傳回 0。

當您新增 0 時,Excel 會將其「加」到每個值,並將它們轉換為數字,因此 COUNT 將給出正確的結果。

您也可以使用 COUNTA 得到正確的結果;或先確保資料以正確的格式儲存。

相關內容