实战问题
例如,我有一个从单元格 A2 开始的动态数组,所以 A2#。A2#数组填充A2:C50。
A2:A50 包含投资 1…10(投资 1;投资 2;投资 3 等)。B2:B50 包含日期,C2:C50 包含现金流量。
本质上,我想过滤动态数组 A2# 以便它只包含 Investment 1 但保留所有三列。在我使用动态数组的所有时间里,我通常只是最终选择 A:C 并执行 FILTER(A:C,(A:A=“Investment 1”) 但这不是最好的/唯一的选择… .
用例(如果有帮助):我的目标是使用如下所示计算每项投资的 XIRR。只是不是 50 行,而是数千,而不是 10 项投资,而是数百项:
=XIRR(FILTER(FILTER(A2#,{1,0,0}="投资 1"),{0,0,1}),FILTER(FILTER(A2#,{1,0,0}="投资1"),{0,1,0}))
解决方案
使用索引。同样使用LET,这样考虑到数据量大,FILTER只需要运行一次
=LET(
a, FILTER(A2#,INDEX(A2#,0,1)="Investment 1"),
XIRR(I