我需要计算Excel Pivot 2010中的唯一值。我尝试了from here方法但是我不明白这个公式是如何工作的。=IF(SUMPRODUCT(($A$2:$A2=A2)*($B$2:$B2=B2))>1,0,1)接受数组参数,但是SUMPRODUCT是boolean。1)假设$A$2:$A2=A2为TRUE并且$A$2:$A2=A2为FALSE,然后将其变为$B$2:$B2=B2或SUMPRODUCT(TRUE * FALSE )2)我尝试了一个随机表 A B1 year id2 1990 13 1991 24 1992 3我尝试使用此公式SUMPRODUCT (1 * 0 )并抛出错误?那么,为什么=A1:B4=2不会引发错误,它的确切含义是什么? 最佳答案 =IF(SUMPRODUCT(($A$2:$A2=A2)*($B$2:$B2=B2))>1,0,1) 假设$A$2:$A2=A2是TRUE并且$B$2:$B2=B2是FALSE您得到:SUMPRODUCT(TRUE*FALSE),然后被excel解释为SUMPRODUCT(1*0),成为0。现在,当您拖动公式时,假设向下移动一个单元格,则引用将变为:=IF(SUMPRODUCT(($A$2:$A3=A3)*($B$2:$B3=B3))>1,0,1)然后您得到数组结果。现在说一次,再次拖动它:=IF(SUMPRODUCT(($A$2:$A4=A4)*($B$2:$B4=B4))>1,0,1)假设A2 = A3 A4和B2 = B3 = B4。你得到:=IF(SUMPRODUCT({FALSE, FALSE, TRUE}*{TRUE, TRUE, TRUE})>1,0,1)变成:=IF(SUMPRODUCT({0, 0, 1}*{1, 1, 1})>1,0,1)变成:=IF(SUMPRODUCT({0, 0, 1})>1,0,1)SUMPRODUCT({0, 0, 1})为1。因此,整个公式将返回0。仅当A列或B列中的最后一个单元格与第一个单元格不同(并且范围只有1个单元格大)时,才会返回1。编辑:就您的示例而言,数组函数外部的数组公式倾向于返回第一个值,或者返回取决于其所在的行/列的值,或者显然是错误。您可以执行的操作来检查结果是在有错误的单元格上按F2,然后按F9。对于您的示例,您应该获得类似以下内容的信息:{FALSE, FALSE, FALSE, FALSE; FALSE, FALSE, TRUE, FALSE}关于excel - = IF(SUMPRODUCT(($ A $ 2:$ A2 = A2)*($ B $ 2:$ B2 = B2))> 1,0,1)的详细说明吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20804274/ 10-10 22:26