Mow*_*gli 3 excel vba excel-vba excel-formula excel-2010
我需要帮助在C列中计算是,但只有在B列中的ID重复时才计算一次
输出样本.对于以下计数的样本应为6.
这是dropbox文件链接.
Dropbox文件链接

我可以通过if和else条件使用公式来做到这一点,但我希望有人可以使用单行公式提出更好的方法.
细胞F2中的当前解决方案
=IF(B2<>B1,IF(C2="Yes","1",""),IF(B2=B1,IF(F1="1","",IF(B2=#REF!,"",""))))
Run Code Online (Sandbox Code Playgroud)
在单元格F3和向下
=IF(B3<>B2,IF(C3="Yes","1",""),IF(B3=B2,IF(F2="1","",IF(B3=B1,"",""))))
Run Code Online (Sandbox Code Playgroud)
然后我只计算所有的并得到总数1.
=countif(F2:F159,"1")
Run Code Online (Sandbox Code Playgroud)
您可以在链接中使用与我之前答案类似的方法,即在您的Dropbox示例中使用单元格引用
=SUM(IF(FREQUENCY(IF(I2:I14="Yes",H2:H14),H2:H14),1))
确认 CTRL+SHIFT+ENTER
H2:H14必须是数字数据
一般来说,假设范围4是数字,您可以将此公式用于最多3个条件
=SUM(IF(FREQUENCY(IF((Range1="x")*(Range2="y")*(Range3="z"),Range4),Range4),1))
可以根据需要添加或删除条件