【回答網友問題】
如下圖,在 Excel 裡如何自動計算和前一個數字之間的天數?
【設計與解析】
儲存格C5:=IF(B5="","",A5-INDEX($A$4:A4,SUMPRODUCT(MAX(($B$4:B4<>"")*ROW($B$4:B4)))-3))
複製儲存格C5,貼至儲存格C5:C21。
(1) SUMPRODUCT(MAX(($B$4:B4<>"")*ROW($B$4:B4)))
在 SUMPRODUCT 函數中利用陣列運算「$B$4:B4<>""」,找出儲存格範圍中不為空白儲存格者,傳回 TRUE/FALSE 陣列。
再和「ROW($B$4:B4))」相乘運算,即和儲存格列號相乘。其結果會將非空白儲存格者傳回其列號,而空白儲存格者傳回 0。
再由 MAX 函數取得傳回值的最大值,此即為「上一個」不為空白儲存格的列號。
(2) INDEX($A$4:A4,第(1)式-3)
將第(1)式的傳回值透過 INDEX 函數取得在儲存格範圍中對應的儲存格內容。
公式中的「-3」為配合日期內容由第 4 列開始。
(3) IF(B5="","",A5-第(2)式)
將儲存格A5內容減掉第(2)式傳回的日期,即為所求。
【參考資料】
SUMPRODUCT 函數參考微軟提供的說明網頁:SUMPRODUCT 函數
INDEX 函數參考微軟提供的說明網頁:INDEX 函數
文章標籤
全站熱搜
留言列表