【问题标题】:How to Count Unique number of callers (by Agent) but if caller exists on another table under another Agent name then dont count this as his caller?如何计算唯一的呼叫者数量(按代理)但如果呼叫者存在于另一个代理名称下的另一个表上,那么不要将其视为他的呼叫者?
【发布时间】:2019-01-24 09:18:10
【问题描述】:

尝试计算代理的唯一呼叫者数量,但如果呼叫者存在于另一个代理名称下的另一个表中 - 那么不要将其视为他的呼叫者:

Calls Sheet:

代理名称/调度在范围内:(Calls!E:E)

来电号码/电话在范围内:(Calls!H:H)

E(代理姓名)H(来电号码)

约翰 1111111

凯利 3333333

约翰 3333333

凯利 2222222

约翰 4444444

约翰 1111111

Job Data Sheet:

Agent Name / Dispatch 在范围内:'Job Data (Closed)'!D:D

来电号码/电话在范围内:'工作数据(已关闭)'!M:M

D(调度)M(电话)

凯利 2222222

约翰 3333333

Final Live Report Sheet:

A(代理)D(唯一呼叫)

约翰 3

凯利 1

John 赢得了调用者 3333333 的计数,但这不仅是因为我们从调用表中删除了重复项,而且因为他提交了此调用者并与该调用者一起存在于 Job 数据表中。凯利还与呼叫者 3333333 进行了交谈,但她没有将他提交给工作数据表。两人都接了电话。

我们正在尝试计算代理接听了多少来电。 (来自呼叫数据表,并在另一个作业数据表上进行了另一次确认检查)。

条件:

  1. 按代理名称'实时报告'!B3 = (呼叫!E: E)

  1. 那些电话也属于他们 - 条件: 不是由其他代理提交的:像这样一次在此处进行两步检查:

从当前行查找当前客户编号 (Calls!H:H) 在新客户编号表中的新范围内查找它'工作数据(已关闭)'! M:M 表: 如果存在,请确保不在不同的代理(调度)名称下像这样:

查看工作数据表上该号码同一行的调度名称与呼叫表上的原始代理名称相同:

检查 'Job Data (Closed)'!D:D(调度名称)在 'Job Data (Closed)'的同一行!M:M(来电者号码)在工作表中找到的存在等于来电表中的原始代理名称 (Calls!E:E)。如果不是,则不要将此呼叫者号码计为对此代理的呼叫。

我们已经有一个 CountIFS 公式对每个代理的呼叫进行唯一计数,但它从一个呼叫表中计数,该表已从另一个表上预先使用不同的公式删除重复项:

=COUNTIFS(RemovedDuplicatedCalls!E:E,'Live Report'!B3)

这是错误的,因为我们正在删除多次呼叫不同座席的呼叫者,而不通过检查这些呼叫者是否存在于作业数据(已关闭)表中的不同座席名称下来检查这些呼叫者是否属于他们。

如果它们确实存在于 Job Data (Closed) 表中的不同代理名称下,则不需要为他们计算该调用,因为另一个代理提交了它。

公式需要唯一地计算座席从呼叫者(不是由其他人提交)打来电话的次数,并从 D3('Live Report'!D3)列 D(唯一呼叫)开始在实时报告表上输出):Final Live Report Sheet:

求和?也许结合索引/匹配或计数?我已经尝试过了:O

非常感谢您的帮助

----------- 更新----------

更清楚地更新问题: 我们试图实现的输出是:

如果所有条件都发生,则计数:

  1. (Calls!E:E) 中查找代理 'Live Report'!D3 并按唯一来电号码 (Calls!H: H)

&在计算之前确保发生这种情况:

  1. 在条件 1 的同一行中获取相关的来电号码,例如:(Calls!H123) 从范围 (Calls!H:H) 并查找它表 2 中调用者编号范围:'Job Data (Closed)'!M:M

    如果找到 - 例如在第 80 行,查看新表 2 上找到的行 'Job Data (Closed)',并匹配找到的呼叫的代理名称,例如:'Job Data (Closed)'!D80 从列 Range D 'Job Data (Closed)'!D:D 到表 1 中从范围 (Calls !E:E) 第 123 行。

    如果不同,则不计入此对代理的调用:'Live Report'!D3

    如果其名称相同,则将呼叫计为 1 的代理:'Live Report'!D3

    如果未找到名称,则将呼叫计为 1 的代理:'Live Report'!D3

这个解释实际上帮助我想到了我们需要什么,我希望这能帮助你弄清楚我们需要在这里制定什么。 非常感谢:)

我试过这个方法:

=COUNTIFS(Calls!E:E,'Live Report'!B3)-SUMPRODUCT(('Job Data (Closed)'!D:D="'Live Report'!B3")*('Job Data (Closed)'!M:M="'Calls!H:H"))

考虑计算所有呼叫,然后减少以不同代理名称存在的呼叫者 - 它不起作用,因为它在计算 Sumproduct 时不知道第一个 countifs 上的行,有一个 Range Calls!H:H而不是在 SumPRoduct 的标准 2 上比较一个单元格...

【问题讨论】:

  • 如果您需要澄清一些事情,图片很棒,但在图片上构建一个完整的问题并不理想。而是包含一些示例数据,这样我们就可以复制粘贴,而不必重写图片中的所有数据。
  • 谢谢安德烈亚斯,我更新了我的问题以包含一个数据示例来替换图像。

标签: excel excel-formula


【解决方案1】:

有趣的数组公式,来自SUMPRODUCT

计算唯一条目数:

=SUMPRODUCT(1/COUNTIF(Target_Range, Target_Range))

对于列表中的每个条目,它加 1,除以该值在列表中出现的次数。这意味着,如果值“Hello World”在列表中出现 3 次,那么它会为每个“Hello World”添加 1/3 - 该唯一值加起来为 1

计算唯一条目,从另一个列表中排除:

=SUMPRODUCT(--(COUNTIF(Exclude_Range, Target_Range)<1)/COUNTIF(Target_Range, Target_Range))

这里唯一的变化是我们检查条目是否出现在要排除的条目列表中,并将其转换为 1 或 0。由于 0 除以任何值仍然是 0,这意味着我们不为此添加任何计数价值

【讨论】:

  • 首先,感谢您抽出宝贵时间回复并尝试提供帮助!输出实际上不需要是不包括另一个列表的唯一计数,如果该 AGENT 的呼叫者号码满足 2 个条件,则它需要减少计数或不计算呼叫者:存在于另一个列表中并且在不同的 AGENT/DISPATCH 名称下.同样在您显示的该语法中,它不计算来自 cell: B3's 的代理名称调用,它只是在列表中查找不存在于另一个列表中的任何唯一调用。我已经编辑了我的问题,以便在它的最后更清楚。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2012-06-30
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 2012-03-14
相关资源
最近更新 更多