学员问题: 1、需要按照(交易日期 交易时间 交易金额) 银行和系统对账 (注意:交易时间 银行和系统差了5分钟以内的时间)2、让银行工作表上能分辩出是那个部门的金额,请老师再次指导。 交易日期、金额一样,时间相差5分钟,满足这三个条件,就查找相应的部门。 多条件查找,可以用LOOKUP函数的经典查找模式。 =LOOKUP(1,0/((条件1)*(条件2)*(条件n)),返回区域) 时间相差5分钟不好表示,先暂时不管,根据其他两个条件查找设置公式。 =LOOKUP(1,0/((A3=$F$3:$F$9)*(C3=$H$3:$H$9)),$I$3:$I$9) 下面重点来说时间差的问题。时间小的减去时间大的显示#######,时间大的减去时间小的显示0:02:11。 时间是不允许负数,需要让负数变成正数才可以。这里引用一个小学数学课本的知识,绝对值。2的绝对值为2,-2的绝对值也为2。 在Excel中,绝对值用ABS函数。 负数的问题解决了,时间如何转变成分钟? 一天的时间为24小时,一小时60分钟,也就是时间乘以24再乘以60就得到分钟。 到这里问题就基本解决,将时间的运算加入原来的公式中即可。最终公式: =LOOKUP(1,0/((A3=$F$3:$F$9)*(ABS(B3-$G$3:$G$9)*24*60<=5)*(C3=$H$3:$H$9)),$I$3:$I$9) 本来到此问题就结束了,没想到这位学员的实际表格时间有个别有问题,时间前面多了一个日期,导致查找错误。 这时借助MOD函数就可以,日期其实是整数,时间是小数,日期+时间除以1的余数就是时间。 到此,问题真正解决了。 =LOOKUP(1,0/((A3=$F$3:$F$9)*(ABS(MOD(B3,1)-$G$3:$G$9)*24*60<=5)*(C3=$H$3:$H$9)),$I$3:$I$9) 最后总结一下对账的套路,不管如何变化,基本上借助LOOKUP函数或者COUNTIFS函数都可以解决。 |
|