gpt4 book ai didi

arrays - 当源表只有一行时,使用 MATCH 的数组公式不会给出结果

转载 作者:行者123 更新时间:2023-12-02 16:28:49 25 4
gpt4 key购买 nike

当源表有一行时,以下数组公式结果为#N/A,但当表有超过 1 行时(即使有两行,其中一行是空)。

作为解决方法,我(在 Power Query 查询中)向相关表 (tblRCGRouteMasterCoProduct) 添加了一个空行。

如何解决这个问题?

=MATCH(1;(tblRCGRouteMasterCoProduct[RoutingCropGroupCode]="BEA") * (tblRCGRouteMasterCoProduct[RouteName]= "Sample Cleaning (2)") * (tblRCGRouteMasterCoProduct[LineNumber]= 10);0)

最佳答案

注意:在下面的公式中,不要忘记将逗号 , 更改为适合您所在区域的分号 ;

问题似乎是 MATCH 函数的第二个参数需要是一个数组。例如:

`=MATCH(1,1,0) --> #N/A

但是

=MATCH(1,{1},0) --> 1

因此,解决这个问题的一种方法是对单行数据主体范围使用不同的公式。

=IF(ROWS(tblRCGRouteMasterCoProduct[#Data])=1,IFERROR(1/(tblRCGRouteMasterCoProduct[RoutingCropGroupCode]="BEA") * (tblRCGRouteMasterCoProduct[RouteName]= "Sample Cleaning (2)") * (tblRCGRouteMasterCoProduct[LineNumber]= 10),NA()),MATCH(1,(tblRCGRouteMasterCoProduct[RoutingCropGroupCode]="BEA") * (tblRCGRouteMasterCoProduct[RouteName]= "Sample Cleaning (2)") * (tblRCGRouteMasterCoProduct[LineNumber]= 10),0))

另一种方法是确保即使是单个单元格也将是一个数组。正如 @JvdV 所指出的,这可以通过简化的方式来完成

=MATCH(1,INDEX(1,),0)

对于您的公式,这将是:

=MATCH(1,INDEX((tblRCGRouteMasterCoProduct[RoutingCropGroupCode]="BEA") * (tblRCGRouteMasterCoProduct[RouteName]= "Sample Cleaning (2)") * (tblRCGRouteMasterCoProduct[LineNumber]= 10),0),0)

关于arrays - 当源表只有一行时,使用 MATCH 的数组公式不会给出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57554228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com