我有一個包含兩個作業表的 Excel 作業簿。
一個持有靜態值,列出每個月到期的帳單,一個月中的某一天作為整數列(或者它可以是,現在它附加到一個字串),一個帳單名稱列作為一個字串和一個美元金額。如果月份中的某一天在另一張紙上的日期范圍內,我想提取賬單名稱和金額。
另一張表列出了整個月的一周日期范圍,并包括賬單名稱和該周到期的金額。我想使用靜態作業表中的值自動填充這些列,其中靜態作業表中的月份日期介于月份作業表中的日期范圍之間。我附上了我的目標的螢屏截圖。這只是示例資料。當我在靜態作業表的標題列中輸入日期時,我希望自動填充月份作業表列(賬單名稱和金額)。
假設靜態值表命名為“Static”,月份表命名為“December”。
我很樂意根據需要提供更多資訊/影像/示例檔案。這是我的愛好,鼓勵提問、討論、批評。


更新
使用 mark 發布的公式,當日期范圍在同一個月內時,它可以完美地作業。
=LET( st, H1, fn, I1,
expenses, $D$3:$F$10,
na, INDEX( expenses, SEQUENCE( ROWS( expenses ) ), {1,2}), d, INDEX( expenses,, 3),
FILTER(na, (d>=DAY(st))*(d<=DAY(fn)) ) )
但是,當日期范圍包括月份更改(例如:12 月 30 日到 1 月 5 日)時,Excel 會顯示錯誤“不支持空陣列”。
uj5u.com熱心網友回復:
使用 Office 365,您可以:
=LET( st, H1, fn, I1,
expenses, $D$3:$F$10,
na, INDEX( expenses, SEQUENCE( ROWS( expenses ) ), {1,2}), d, INDEX( expenses,, 3),
FILTER(na, (d>=DAY(st))*(d<=DAY(fn)) ) )
其中 H1 是該期間的開始日期,I1 是結束日期,D3:F10 是您顯示的名稱、金額和月份的日期陣列。
此公式將使用 Name 和 Amount 溢位結果。它可以復制到您在 Sheet2 示例中顯示的其他單元格(即 Sheet2 中的 A3、D3、G3...)。

如果您沒有 Office 365,那就更難了。
版本 II - 跨月賬戶
這將適應本月的交叉。沒想到...
=LET( st, H1, fn, I1,
expenses, $D$3:$F$10,
s, DAY( st ), f, DAY( fn ),
na, INDEX( expenses, SEQUENCE( ROWS( expenses ) ), {1,2}), d, INDEX( expenses,, 3),
b, IF( MONTH(st) = MONTH(fn), (d>=DAY(st))*(d<=DAY(fn)), (d>=DAY(st))*(d<=DAY(EOMONTH(st,0))) (d>=1)*(d<=DAY(fn)) ),
FILTER(na, b ) )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/349790.html
上一篇:vba回圈不檢查重復的零件號
下一篇:使用公式將Excel文本轉換為行
