我有下面的 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。你能帮我吗?
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变量。