首页 > 解决方案 > 如何计算唯一的呼叫者数量(按代理)但如果呼叫者存在于另一个代理名称下的另一个表上,那么不要将其视为他的呼叫者?

问题描述

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

来电表:

代理姓名/调度在范围内:(呼叫!E:E)

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

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

约翰 1111111

凯莉 3333333

约翰 3333333

凯莉 2222222

约翰 4444444

约翰 1111111

工作数据表:

代理名称/调度在范围内:'工作数据(已关闭)'!D:D

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

D(调度) M(电话)

凯莉 2222222

约翰 3333333

最终实时报告表:

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

约翰 3

凯利 1

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

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

条件:

  1. 唯一计数(没有重复的来电号码范围:Calls!H:H)按座席名称“实时报告”!B3 = (Calls!E:E)

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

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

请注意,作业数据表上该号码同一行的调度名称与呼叫表上的原始代理名称相同:

检查工作表中存在的“工作数据(已关闭)”的同一行上的“工作数据(已关闭)”!D:D (调度名称) !M:M(呼叫者号码)等于原始呼叫表中的代理名称 ( Calls!E:E )。如果不是,则不要将此呼叫者号码计为对此代理的呼叫。

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

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

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

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

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

和积?也许结合索引/匹配或计数?我因尝试而筋疲力尽:O

非常感谢帮助

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

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

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

  1. (Calls!E:E)中查找代理'Live Report'!D3并按唯一呼叫者号码(Calls!H:H)计算行数

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

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

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

    如果它不同,那么不要计算这个对代理的调用:'实时报告'!D3

    如果它的名称相同,则将呼叫计为 1 代理:'实时报告'!D3

    如果未找到名称,则将呼叫计为 1 代理:“实时报告”!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 而不是一个要在 SumPProduct 的标准 2 上进行比较的单元格...

标签: excelexcel-formula

解决方案


有趣的数组公式,通过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,这意味着我们不为该值添加任何计数


推荐阅读