2023年10月16日 星期一

[Excel]如何找到非固定空白格數列的條件數據? 以月份報價表單為例

在群組中看到上述問題,研判應是一份隨月份變動的產品報價表單,空白欄可能表示該月份價格與上個月份一致。這個問題是需要取得最近一次單價和倒數第二次單價,常用且實務的excel案例值得紀錄。

最近一次單價:

INDEX($B2:$G2,1,LARGE(IF(ISBLANK($B2:$G2)=FALSE,COLUMN($B2:$G2)-1,0),1))

函式說明:

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。




沒有留言:

張貼留言