本次的练习是:excel数据透视表:计算车辆停放的时长
如下图1所示,使用公式求每辆卡车的停放时长。
图1
汽车公司会实时跟踪卡车车队的位置,在每天的每个小时点会记录每辆卡车的具体位置,如上图1所示,假设共有5个位置,分别使用A、B、C、D、E来代表,卡车在同一位置连续两个小时,表明其在该位置停放了1小时,如卡车1,4点和5点时都在位置A,则卡车停放了1小时;卡车2在8点至12点都在位置A,则表明其停放了4小时,在2点和3点都在位置D,表明其停放了1小时,总共的停放时长为4+1=5小时。
如何使用公式来计算结果?
先不看答案,自已动手试一试。
解决方案
这种情形非常适合使用SUMPRODUCT函数。
在单元格N6中输入公式:
=SUMPRODUCT(–(C6:K6=D6:L6))
下拉至单元格N10,结果如下图2所示。
图2
公式中:
C6:K6=D6:L6
后一个单元格区域比前一个单元格区域向右偏移一列,表明将相邻单元格进行两两比较,相同返回TRUE,否则返回FALSE。上述公式中的比较结果为数组:
{FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE}
前面的双减号将TRUE/FALSE值强制转换为1/0:
{0,0,0,0,0,0,0,0,1}
此时,公式转换为:
=SUMPRODUCT({0,0,0,0,0,0,0,0,1})
得到结果:1
小结:简洁而巧妙的公式解决了问题。