在A列中,我列出了不同的名稱。在列B,I具有值0或1。使用條件計算唯一值
我想從塔A的所有唯一的名稱,其在列B
具有1的計數使用下面陣列式我能夠算唯一的名稱,但不能夠對列B
=SUM(1/COUNTIF(A:A,A:A))
在A列中,我列出了不同的名稱。在列B,I具有值0或1。使用條件計算唯一值
我想從塔A的所有唯一的名稱,其在列B
具有1的計數使用下面陣列式我能夠算唯一的名稱,但不能夠對列B
=SUM(1/COUNTIF(A:A,A:A))
假設不超過100行嘗試這種「數組公式」計數在A2中不同名稱適用條件:A100,其中有在一個1 B2中的同一行:B100:
=SUM(IF(FREQUENCY(IF(B2:B100=1,IF(A2:A100<>"",MATCH(A2:A100,A2:A100,0))),ROW(A2:A100)-ROW(A2)+1),1))
證實CTRL+SHIFT+ENTER
請注意,我說的不同不是唯一因爲這兩個是不一樣的
+ 1 5秒打我吧:) – 2013-04-11 09:21:04
喜歡這個?
=SUM(--(FREQUENCY(IF(($B$1:$B$8=1), COUNTIF($A$1:$A$8, "<"&$A$1:$A$8), ""), COUNTIF($A$1:$A$8, "<"&$A$1:$A$8))>0)))
這是數組公式。你將不得不按CTL + SHIFT + ENTER
截圖
@SiddarthRout:很好,但真的很難理解:)謝謝反正 – Tejas 2013-04-11 18:28:40
輝煌。感謝您的教育! – CompanyDroneFromSector7G 2015-04-14 09:54:27
是否必須是一個公式?一個非常簡單的方法是從列A和列B中創建一個數據透視表。然後將列B設置爲過濾器字段並將A的計數設置爲值(您需要標記列A和B)。然後數據透視表上的A4(至少在默認情況下)應該包含您的答案。這將適用於任何大小的列表,並且確實會在有多個條件時工作。
如果它必須是一個公式,是否必須完全如此?如果允許您在公式工作之前按A排序,那麼該工作流程如何?我對此並不着迷,我懷疑它可以改進。
1)排序方式A(升序或降序),然後由B(降序)
2)在C C的每一行把像這樣的公式:
=if (and(A2<>A1,B2=1),1,0)
C1將是如如下:
=b1
從C2拖拽到數據的最後一行(比如c500)。
3)然後通過求和計算C = sum(c1:c500)。
您當然可以將公式拖到數據行的下方(只要您知道所需的最大數量),它應該對所有空白行返回0。然後,當您將數據添加到A和B時,其餘部分將自動更新。您可能也需要獲取數據。
數據透視表解決方案的一個好處是,只要您在現有數據的行中插入新數據,數據集就可以自動增長。當然不需要排序。
易與數據透視表......:
一個相對簡單的解決這一常見的問題是
= SUM((B:B = 1)/ COUNTIFS( A:A,A:A,B:B,B:B))
作爲數組公式輸入。
您需要將數組的大小限制在實際擁有數據的位置。
+ 1好的問題:) – 2013-04-11 09:25:29
@SiddharthRout謝謝:) – Tejas 2013-04-11 18:28:11