我有一个包含日期、值等的数据列表。我想根据这个列表制作另一个基于日期的列表。
我的示例:A 列 = 项目;B = 日期;C = 值;D = 公式,如果 B 中的日期小于今天的日期,则返回 C 列的值(如果(b1
A B C D
1....abc........mar.19.....100€.......100€........................................
2....def.........jun.19......200€.......200€......................................
3....ghi.........jan.20.....150€..................................................
4....jkl..........jul.19.......300€........300€...................................
5...mno.......sep.20.....250€.....................................................
因此,在我的新列表中,我希望从 A 列和 D 列中提取值,但仅限于 B 列日期 < 当天日期的行。因此,在这种情况下,我需要由第 1、2 和 5 行组成新列表。我需要它基于公式,因此当我添加或更改这些行时,它会自动更改新列表。
答案1
结合INDEX & MATCH
使用 和SMALL
可以修复此问题:
单元格中的数组(CSE)公式
D16
,以Ctrl+Shift+Enter&填充。{=IFERROR(INDEX($A$16:$C$21,SMALL(IF((INDEX($A$16:$C$21,,$F$15)<$E$15),MATCH(ROW($A$16:$C$21),ROW($A$16:$C$21)),""),ROWS(B16:$B$16)),COLUMNS($A$1:A1)),"")}
注意:
=Today()
在单元格中输入E15
。单元格
F15
包含数据范围的列数A16:C21
为,2
因为日期与单元格匹配的E15
是 B 列。
根据需要调整公式中的单元格引用。