筛选子string的列并返回相邻单元格的最大值 – Excel 2013(无macros)

我希望获得每天的最长通话时间,当天所有通话的平均时间以及超过20秒的通话时间。

由于工作中的安全策略,我仅限于由excel提供的公式,我不能使用macros或VB(否则我只会写一些合适的东西)。 我没有太多的经验,所以我很抱歉,如果这是一个简单的。 我试图find方法来search并返回一个我可以轻易操作的子数组,但是似乎唯一的方法就是使用macros。 目前我认为我可以使用VLOOKUP ,但是我并不十分了解它是否可以用于其他function。

从本质上讲,如果有一个公式或公式的组合,我可以使用这将允许我收集列A中共享相同的值的列B中的所有数据,我可以嵌套在公式我需要计算数据。

任何帮助表示赞赏!

样本数据

只需点击几下,就可以通过数据透视表完成。

首先,通过select表格中的一个单元格,然后使用“ 插入”>“表格”或“ Ctrl-T”将源数据转换为Excel表格对象。 在20秒内为呼叫添加助手列。 让列成为“长话”和公式

 =IF([@Duration]>TIME(0,0,20),1,0) 

然后,选中Excel表格的单元格,单击插入>数据透视表 。 (数据透视performance在链接到Excel表格对象,当添加更多数据时,您可以刷新数据透视表,而无需更改源数据的定义。)

Day字段拖到行区域,将Duration字段拖到Values区域。 右键单击数据透视表中的任何值结果,然后在“ 值字段设置”对话框中select“ 最大值” 。 然后点击数字格式button,设置hh:mm:ss的自定义数字格式。 确认所有对话框。

如果要格式化date,请右键单击数据透视表中的任何可见date,select“ 字段设置” ,单击“ 数字格式” ,然后设置自定义格式ddd

将持续时间字段再次拖到值区域,并将其计算方法设置为平均值。

将“长通话”字段拖到值区域。

通过数据透视表工具devisefunction区命令隐藏总计。

现在,您可以在列A到B中向表中添加更多数据,右键单击数据透视表并select刷新。

在这里输入图像说明