在群組中看到上述問題,研判應是一份隨月份變動的產品報價表單,空白欄可能表示該月份價格與上個月份一致。這個問題是需要取得最近一次單價和倒數第二次單價,常用且實務的excel案例值得紀錄。
最近一次單價:
INDEX(B2:G2,1,LARGE(IF(ISBLANK(B2:G2)=FALSE,COLUMN(B2:G2)-1,0),1))
函式說明:
- IF(ISBLANK(B2:G2)=FALSE,COLUMN(B2:G2)-1,0)
對B2:G2做是否為空白格的篩選,空白格顯示為0,非空白格則回傳欄號,一併取得排序。
2.LARGE(IF(ISBLANK(B2:G2)=FALSE,COLUMN(B2:G2)-1,0),1)
有了排序,接著就好辦了。利用Large函數找出最大欄號值,這個最大欄號值的意義其實就是最大月份的意思。換言之,即是將最近一次轉換成最大欄號值來表示。
3.INDEX(B2:G2,1,LARGE(IF(ISBLANK(B2:G2)=FALSE,COLUMN(B2:G2)-1,0),1))
利用Index函式取得在B2:G2數列中對應最大欄號值的儲存格值。
倒數第二次單價:
INDEX(B2:G2,1,LARGE(IF(ISBLANK(B2:G2)=FALSE,COLUMN(B2:G2)-1,0),2))
若瞭解取得最近一次單價的原理,倒數第二次單價只是取得次大欄號值,因此僅需要將large函式中的參數1改成參數2。