Excel:如何計算有條件的範圍內不同值的數量?

Excel:如何計算有條件的範圍內不同值的數量?

我閱讀並測試了很多,但我仍然無法為我的問題找到解決方案。

我找到的最接近的解決方案是下面文章中提出的第二個解決方案: 如何計算一個範圍內不同值的數量?

我本質上是在找出 A 列中有多少個值是唯一的,而 B 列對應於某個值。

讓我們想像一下下面的電子表格

COL A      COL B
abc        TRUE
abc        TRUE
bef        TRUE
bef        FALSE
hgf        TRUE
swd        FALSE
rth        FALSE
kjh        TRUE

我想提出一個公式來計算(不顯示)A 中唯一值的數量,其中 B 列中包含 TRUE。

現在,我希望下面的公式能在某種程度上有所幫助

=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100))

曾經用 a 修改過COUNTIFS,但它顯然不起作用,我不明白為什麼。我也不太明白最初的原因:A2:A100<>""

答案1

使用資料透視表。無需公式。只需點擊幾下。

將A 列(在我的範例中稱為「一」)拖曳到行標籤,將B 列(在我的範例中稱為「二」)拖曳到列標籤,將任意列拖曳到值區域中並將值計算設為“計數” 。

在資料透視表上方的一行,使用簡單的 Count() 函數傳回唯一值的計數:

在此輸入影像描述

您可以篩選資料透視表以僅顯示具有「true」的項目或僅顯示具有「false」的項目。

答案2

試試這個“數組公式”

=SUM(IF(FREQUENCY(IF(B2:B100=TRUE,IF(A2:A100<>"",MATCH(A2:A100,A2:A100,0))),ROW(A2:A100)-ROW(A2)+1),1))

CTRL用+ SHIFT+確認ENTER

答案3

您可以使用下列公式列出 Column中A的值 欄位。"TRUE"B

在儲存格中用++D2輸入這個陣列公式並向下拖曳以顯示所有滿足條件的唯一值...CTRLSHIFTENTER

=INDEX($A$2:$A$9, MATCH(0, COUNTIF($D$1:D1,$A$2:$A$9)+IF($B$2:$B$9<>TRUE, 1, 0), 0))

編輯* 新增了照片。 在此輸入影像描述

相關內容