亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
651
2025-04-01
新用法,LOOKUP函數區域錯位引用,這招真好用!
學員的問題,2020年10月20日已經收過了,那么現在我要收2021年的1月21日的款項了,我要怎么才能做到它們自動往下催收呢?
小編看了一下,如果根據時間的大小來判斷根本無從下手。轉念一想,G5這個單元格有日期,下一個要催收的自然是B6這個單元格的日期,也就是相差一行。
這樣就將問題轉變成判斷G列最后一個非空單元格再加1行。
我們知道LOOKUP函數有一個特點,如果有多個對應值,返回最后一個對應值,用在這里剛好。
最后一次收的日期就可以知道了。
=LOOKUP(1,0/(G4:G15<>””),B4:B15)
那怎么獲取這個日期的下一個單元格呢?
這時就用到了區域錯位引用,兩邊的區域相差一行。普通情況下,區域錯位結果基本都是錯的,而這里偏偏要錯位,才是對的。
=LOOKUP(1,0/(G4:G15<>””),B5:B16)
本來到這里問題就解決了,學員又提出了一個新問題,已經收款了,但是還有欠款金額,這種情況要繼續催收同一行的日期。
現在問題就變成了判斷I列第一個不是0的金額,對應的日期。
查找首次出現的,可以用INDEX+MATCH數組,按Ctrl+Shift+Enter三鍵結束。
=INDEX(B4:B15,MATCH(1,–(I4:I15>0),0))
I4:I15>0,判斷是否大于0,滿足條件就顯示TRUE,不滿足就顯示FALSE。
–(I4:I15>0),將TRUE轉換成1,FALSE轉換成0。
MATCH(1,–(I4:I15>0),0),用1查找1首次出現的位置,嵌套INDEX就是將位置轉換成對應值。
也可以用INDEX+MIN+IF組合,這個就是先用MIN+IF獲取最小的行號,然后嵌套INDEX返回行號的對應值。
=INDEX(B:B,MIN(IF(I4:I15>0,ROW(4:15))))
每個疑難,正常都會有多種解決的方法,用你最拿手的方法。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。