Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....

点击上方蓝字
「Excel不加班」

关注

看下一篇



Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....
文章图片


VIP学员的问题 , 左边为要发的钱 , 右边为要扣的钱 。 根据姓名 , 累计F列的金额 , 累计的最大值小于B列应发的 。
Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....
文章图片


比如卢子 , 应发50000 , 右边有2条记录 , 只能扣款48000这1条记录 。

比如路人 , 应发90000 , 右边有3条记录 , 只能扣除48000+30000=78000这2条记录 。

说白了就是你买东西 , 卡里有钱产品就自动扣款 , 钱不够就扣款失败 。

思路 , 先累计右边每个人的金额 , 再跟左边的应发比较 , 最后获取小于左边最大值的金额 。

通过SUMIF函数 , 用混合引用的方法 , 下拉区域逐渐变大 , 从而起到累计的效果 。
=SUMIF(E$4:E4,E4,F$4:F4)Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....
文章图片


再用VLOOKUP函数查找姓名的应发金额 。
=VLOOKUP(E4,A:B,2,0)Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....
文章图片


累计的金额跟应发的金额比较 , 小于应发的显示本身 , 否则显示空白 。
=IF(G4<=H4,G4,"")Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....
文章图片


再将这3条公式合并起来 。
=IF(SUMIF(E$4:E4,E4,F$4:F4)<=VLOOKUP(E4,A:B,2,0),SUMIF(E$4:E4,E4,F$4:F4),"")Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....
文章图片


最后 , 扣款的金额借助LOOKUP函数查找最后一个非空单元格的对应值 , 结果就出来了 。
=LOOKUP(1,0/((G:G<>"")*(E:E=A4)),G:G)Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....
文章图片


本来问题到此结束 , 这时VIP会员又提出了一个要求 , 希望能将已经扣除的金额做标记 。

原先我是在单元格标记1 。
=IF(SUMIF(E$4:E4,E4,F$4:F4)<=VLOOKUP(E4,A:B,2,0),1,"")Excel也能按最大金额自动扣款?万万没想到Excel还有这操作....
文章图片


在写文章的时候 , 发觉用条件格式更为直观 。 在使用条件格式的时候 , 跟单元格写公式有所区别 , 都需要将字母用美元符号固定死 。


推荐阅读