推 Catbert:{=COUNTIF(A1:B4,"O")-SUM((A1:A4="O")*(B1:B4="O"))} 12/01 11:30
推 JieJuen:不錯~~計算正確^^那試試..如果條件增多,如何更容易擴充呢~ 12/01 12:59
推 JieJuen:意即:加上C欄也可能有O~ 12/01 13:11
> -------------------------------------------------------------------------- <
作者: JieJuen (David) 看板: Office
標題: Re: [算表] 玩EXCEL:多條件聯集("或")
時間: Sun Dec 2 18:32:56 2007
根據(胡亂的)統計,超過一天還沒有回覆的文章,
下次的回文大都在幾個月以後了,
所以繼Catbert之後的回答者,
應該是未來n個月的未來人了(hi~~你好:p)
相信大家都有自己的想法,
只是害羞不好意思回答...
-------------------------------------
有兩欄資料
A欄 B欄
O O
O W
X O
Y Z
請問A"或"B欄為O的有幾列?
-------------------------------------
在算"且"的時候用到了乘"*"
{=SUM((A1:A4="O")*(B1:B4="O"))}
所以"或"很自然的會想用"+"
{=SUM((A1:A4="O")+(B1:B4="O"))}
但是加起來會不對怎麼辦?
看看加起來是什麼樣子:
SUM(
{TRUE;TRUE;FALSE;FALSE}+
{TRUE;FALSE;TRUE;FALSE})
=SUM({2;1;1;0})
=4
唉呀~那個2真麻煩,能不能變成1呢?
寫個IF好了
=SUM(IF((A1:A4="O")+(B1:B4="O")>0,1))
計算過程中
SUM(IF({2;1;1;0}>0,1))
=SUM({1;1;1;FALSE})
=3
成功了!
不過多了一層,能不能一個函數就解決呢?
想數數字,自然想到COUNT,不過
COUNT({2;1;1;0})=4
想要去掉零!
因此把它們放到分母
COUNT(1/{2;1;1;0})
=COUNT({0.5;1;1;#DIV/0!})
=3
真好真好,所以合起來是
{=COUNT(1/((A1:A4="O")+(B1:B4="O")))}
如果A欄~K欄有O都要算呢?
=COUNT(1/COUNTIF(OFFSET($A$1:$K$1,ROW($1:$4)-1,),"O"))
看看檔案吧:P
http://kuso.cc/MultiOr
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.123.42.107
推 wwwgreen:太厲害了... 12/02 18:51
推 JieJuen:希望對各位寫公式有所幫助^^~ 12/03 23:23