Excel技巧之能根据动态数组的第一列过滤动态数组吗?

本文探讨如何利用Excel的LET函数过滤动态数组,特别是在处理大量数据时提高性能。实战问题涉及根据动态数组A2#的第一列(投资名称)筛选出'Investment 1'的相关数据,同时保留所有三列。解决方案是使用LET函数结合INDEX进行过滤,避免了多次计算。补充介绍了LET函数的目的、返回值、参数和示例,强调其在简化复杂公式和提高效率上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实战问题

例如,我有一个从单元格 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值