【回答網友問題】

如下圖,在 Excel 裡如何自動計算和前一個數字之間的天數?

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)式傳回的日期,即為所求。

 

【參考資料】

image SUMPRODUCT 函數參考微軟提供的說明網頁:SUMPRODUCT 函數
image INDEX 函數參考微軟提供的說明網頁:INDEX 函數
 

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel 計算天數
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(2) 人氣()