根據上一篇文章:Excel-垂直資料轉換為矩陣形式(SUMPRODUCT,OFFSET,COLUMN)

如果想要調整為列出每日住院的病歷,該如何處理?

Excel-垂直資料轉換為矩陣形式(SUMPRODUCT,OFFSET,COLUMN)2

【公式設計與解析】

選取儲存格A1:D15,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:病歷號、入院日、出院日。

1. 計算每日人數

儲存格B18:=SUMPRODUCT((入院日<=$A18)*(出院日>=$A18))

複製儲存格B18,貼至儲存格B18:B33。

在陣列公式中判斷入院日儲存格陣列是否小於儲存格A18並且出院日大於儲存格A18,若是,則傳回TRUE,若否,則傳回FALSE。公式中的『*』運算,可以將TRUE/FASLE陣列轉換為1/0陣列。


2. 填入每日病歷號碼

{=IFERROR(OFFSET($A$1,SMALL(IF((入院日<=$A18)*(出院日>=$A18),ROW(病歷號),""),COLUMN(A:A))-1,0),"")}

這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動加上「{}」。

複製儲存格B18,貼至儲存格B18:M33。

詳細說明參閱:Excel-垂直資料轉換為矩陣形式(SUMPRODUCT,OFFSET,COLUMN)

文章標籤
創作者介紹

學不完.教不停.用不盡

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