VIP學員的問題,左邊為要發(fā)的錢,右邊為要扣的錢。根據(jù)姓名,累計F列的金額,累計的最大值小于B列應發(fā)的。
比如盧子,應發(fā)50000,右邊有2條記錄,只能扣款48000這1條記錄。
比如路人,應發(fā)90000,右邊有3條記錄,只能扣除48000+30000=78000這2條記錄。
說白了就是你買東西,卡里有錢產(chǎn)品就自動扣款,錢不夠就扣款失敗。
思路,先累計右邊每個人的金額,再跟左邊的應發(fā)比較,最后獲取小于左邊最大值的金額。
通過SUMIF函數(shù),用混合引用的方法,下拉區(qū)域逐漸變大,從而起到累計的效果。
=SUMIF(E$4:E4,E4,F$4:F4)
再用VLOOKUP函數(shù)查找姓名的應發(fā)金額。
=VLOOKUP(E4,A:B,2,0)
累計的金額跟應發(fā)的金額比較,小于應發(fā)的顯示本身,否則顯示空白。
=IF(G4<=H4,G4,"")
再將這3條公式合并起來。
=IF(SUMIF(E$4:E4,E4,F$4:F4)<=VLOOKUP(E4,A:B,2,0),SUMIF(E$4:E4,E4,F$4:F4),"")
最后,扣款的金額借助LOOKUP函數(shù)查找最后一個非空單元格的對應值,結(jié)果就出來了。
=LOOKUP(1,0/((G:G<>"")*(E:E=A4)),G:G)
本來問題到此結(jié)束,這時VIP會員又提出了一個要求,希望能將已經(jīng)扣除的金額做標記。
原先我是在單元格標記1。
=IF(SUMIF(E$4:E4,E4,F$4:F4)<=VLOOKUP(E4,A:B,2,0),1,"")
在寫文章的時候,發(fā)覺用條件格式更為直觀。在使用條件格式的時候,跟單元格寫公式有所區(qū)別,都需要將字母用美元符號固定死。
=SUMIF($E$4:$E4,$E4,$F$4:$F4)<=VLOOKUP($E4,$A:$B,2,0)
選擇區(qū)域E4:G8,點條件格式→新建規(guī)則。
點使用公式確定要設置格式的單元格,將剛剛的公式復制粘貼進去,設置填充顏色,確定。
最終結(jié)果就出來了。
作者:盧子,清華暢銷書作者,《Excel效率手冊 早做完,不加班》系列叢書創(chuàng)始人,個人公眾號:Excel不加班(ID:Excelbujiaban)
聯(lián)系客服