![Excel 2013 需要统计按日期和代理过滤的数据块](https://linux22.com/image/1551178/Excel%202013%20%E9%9C%80%E8%A6%81%E7%BB%9F%E8%AE%A1%E6%8C%89%E6%97%A5%E6%9C%9F%E5%92%8C%E4%BB%A3%E7%90%86%E8%BF%87%E6%BB%A4%E7%9A%84%E6%95%B0%E6%8D%AE%E5%9D%97.png)
答案1
我相信这个公式会起作用(在 Excel 2016 中测试过):=SUM(IF(FREQUENCY(IF(B2:Z2="A",COLUMN(B2:Z2)),IF(B2:Z2<>"A",COLUMN(B2:Z2))),1))
根据需要修改列引用。
您也可以使用:=SUM(IF(FREQUENCY(IF(B2:Z2=$A$5,COLUMN(B2:Z2)),IF(B2:Z2<>$A$5,COLUMN(B2:Z2))),1))
因为您使用 A5 来表示“A”的含义。
这是一个数组公式,因此您必须在输入公式后按 CTRL+SHIFT+ENTER。在第一行输入公式,然后复制/填充。
这是我找到的公式的修改这里
编辑:假设您有一行表示全年,并且一年的第一天在 D 列(如您的示例所示),则公式将是:=SUM(IF(FREQUENCY(IF(D8:ND8=$A$5,COLUMN(D8:ND8)),IF(D8:ND8<>$A$5,COLUMN(D8:ND8))),1))
或者:=SUM(IF(FREQUENCY(IF(D8:ND8="A",COLUMN(D8:ND8)),IF(D8:ND8<>"A",COLUMN(D8:ND8))),1))
如果您更愿意在公式本身中使用表示缺失的字符。此公式将位于同一行。同样,这是一个数组公式,因此您必须按 SHIFT+CTRL+ENTER 才能使其起作用,然后向下填充所需的行数。