下午好,
我有一个大型数据表,其中包含尝试联系客户的帐户。每个条目都标有:
一个。客户的名称 湾尝试了日期联系 C。联系尝试是否成功(S)与否(U)
以下是数据的示例,其中替换了机密名称
我需要计算每月成功联系的不同人数,并将其显示在如下表格中:
请注意,我不想计算他们成功联系的时间,只要他们至少已经联系过一次。
我尝试过以下公式:
{=SUMPRODUCT(IF((EncounterDate<=DU4)*(EncounterDate>=DT4),
1/COUNTIFS(EncounterDate, "<="&DU4, EncounterDate, ">="&DT4,
EncLastFirstName, EncLastFirstName, CMService, "S"), 0))}
DU4 - 月份的最后日期
DT4 - 第一个月的日期
我使用此公式得到Div / 0错误。知道我做错了什么,或者我应该做什么呢?
谢谢,我很感激!
答案 0 :(得分:1)
你得到#DIV/0!
,因为你的除法的分母可能为零,并且在第一个未处理的错误上公式为“短路”。如果任何行传递的结果为零,
COUNTIFS(EncounterDate, "<="&DU4, EncounterDate, ">="&DT4, EncLastFirstName, EncLastFirstName, CMService, "S")
...然后您获得#DIV/0!
1/COUNTIFS(...)
。
我的解决方案是删除IF部分并将每个标准收集到一个分子中,如果全部为真,则解析为1,如果为false则为0。另外,将标准分子的倒数加到除法运算的分母中;例如如果(CMService="S")
在分子中,则将(CMService<>"S")
添加到分母。在这些情况下,分母将为非零,分子将为零。零除以任何值仍然为零(例如0/100 == 0),因此分母是什么并不重要,您永远不会得到#DIV/0!
错误。
如果分子和countifs中的所有条件都为真,则分子为1且分母中没有添加任何内容。如果numerator和countifs中的任何条件为false,则分子为0,并且分母中添加了一些内容以确保不会出现#DIV/0!
。
在DV4中作为标准公式没有 CSE,
[<~~~~~~~~~~~~~~~~~ numerator portion ~~~~~~~~~~~~~~~~~>] / [<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ denominator portion ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>]+[<~~~~~~~~~~ denominator adjustment portion ~~~~~~~~~~>]
=sumproduct(((EncounterDate>=DT4)*(EncounterDate<=DU4)*(CMService="S"))/(countifs(EncLastFirstName, EncLastFirstName, EncounterDate, ">="&DT4, EncounterDate, "<="&DU4, CMService, "S")+(EncounterDate<DT4)+(EncounterDate>DU4)+(CMService<>"S")))
使用这种用基本数学取消任何#DIV/0!
的方法,只要将分母调整保持在分子的倒数处,就可以增加或减少标准数。
答案 1 :(得分:0)
也许问题是你只是检查日期,然后假设至少有一个成功的联系人。有些人可能只有不成功的尝试,所以你除以0。