標籤:

EXCEL中計算不重複單元格的個數

EXCEL中計算不重複單元格的個數

computer 2010-02-26 16:23:15 閱讀316 評論0   字型大小: 訂閱

=SUM(1/COUNTIF($A$1:$A$6,$A$1:$A$6))

數組公式

= SUM(1/COUNTIF(區域,區域))


個公式是計算區域中不重值的個數的經典公式。

準備

區域A1:A10的數據分別是:公式、計算、可以、公式、公式、複製、這個、重複、可以、不可以

B1寫入公式:

=SUM(1/COUNTIF(A1:A10,A1:A10))

它是一個數組公式,同時按 hift+Ctrl+Enter 三鍵結束。

觀察

1、在編輯欄,像下面一樣選取函數Countif()部分,然後按F9:

=SUM(1/COUNTIF(A1:A10,A1:A10))

你看到的結果會是:

=SUM(1/{3;1;2;3;3;1;1;1;2;1})

如果這時你按下Esc鍵,公式會還原為原來的狀態。

2、在結果的基礎上繼續選取,=SUM({1/{3;1;2;3;3;1;1;1;2;1})或者在原公式上選取=SUM(1/COUNTIF(A1:A10,A1:A10)),按F9,結果為:

=SUM({0.333333333333333;1;0.5;0.333333333333333;0.333333333333333;1;1;1;0.5;1})

3、選取全部公式按下F9或者直接按三鍵,你看到的都是同一結果:7。

分析

1、Countif(A1:A10,A1:A10)是數組計算,運算過程相當於:

Countif(A1:A10,A1)

Countif(A1:A10,A2)

……

Countif(A1:A10,A10)

結果如上面所示,是一個數組,表示區域中等於本單元格數據的個數。

2、用1除以個數,是個非常妙的想法,要結合前後計算才能領會好它的作用。把上一步的結果整理一下,用分數代替小數:

=SUM({1/3;1/3;1/3;1/2;1/2;1;1;1;1;1})

區域中有三個重複的數「公式」,那麼這一步就有三個1/3,有兩個「可以」,那麼這一步的結果就有兩個1/2,如果有5個重複的數,那麼這一步的結果就有5個1/5,如此類推。

3、這一步幾乎不用說了。Sum()進行的是加法運算,3個1/3相加,結果為1,2個1/2相加,結果也是1。如果區域中有8個重複的數,那麼一定會有8個1/8相加,結果也是1。

重複的數經過三步運算,到最後結果都是1。

把所有結果加起來,就是區域中不重複的個數。

QUOTE:

以上公式解釋源自山版http://club.excelhome.net/viewthread.php?tid=159374&extra=&page=1#368625

PS:excelhome裡面的高手,這個方法確實可行。在輸完公式的時候,記得不要按回車,而應當按ctrl+shift+enter這三個組合鍵,不然結果出來會是小數。

推薦閱讀:

536、 從上市公司取得的股息紅利所得,在計算個人所得稅時是否有優惠?
農曆閏月是怎麼來的?如何計算閏月?
胰島素怎樣計算用量
生男生女計算器 你家寶寶是男是女
凱利指數計算公式對勝平負預測 – 足彩入門指南

TAG:計算 |