使用公式将数组转换为 Excel 中的范围...或第二个 countif 在 Lambda 中不起作用

问题描述 投票:0回答:1

我有下面的 Lambda 函数,其中我执行 countif of countif。第二组countif不起作用

=LAMBDA(FirstRng,S1Rng,S2Rng, LET(SecondRng,COUNTIF(FirstRng,S1Rng),ThirdRng,COUNTIF(SecondRng,S3Rng),ThirdRng))(C3:C10,D3:D10,E3:E10)

该公式正确计算 SecondRng,但给出 ThirdRng 的#value。你能帮我吗?

arrays excel lambda range countif
1个回答
0
投票

COUNTIF 函数仅适用于范围(不适用于数组)。 LET 语句中 SecondRng 变量的结果存储为数组,因此无法在后续的 COUNTIF 函数中引用。

一种可能的解决方案是使用替代函数代替第二个 COUNTIF 函数。根据提供的示例,以下方法将起作用(假设范围 E3:E10 中的值为 {0;1;2;3;...}):

=LAMBDA(FirstRng,S1Rng,S2Rng, LET(SecondRng,COUNTIF(FirstRng,S1Rng), BYROW(S2Rng,LAMBDA(row,SUM(--(row=SecondRng))))))(C3:C10,D3:D10,E3:E10)

注意:我通过直接返回最终计算的结果来收紧LET语句,而不是声明ThirdRng变量。

© www.soinside.com 2019 - 2024. All rights reserved.