针对泄漏范围的多个标准的唯一过滤器



以下公式仅在手动填充列时有效。

'=(TEXTJOIN("| ",TRUE,UNIQUE(FILTER(rngNOTES,(rngDWG=$H3)*(rngASSY=$I3)*(rngASSY_DESCR=$J3)))))

在H3中,我有一个独特的多行和三列的溢出范围。我正试图使上述方程溢出列,而不是不得不复制下列。我尝试了以下操作:

=(TEXTJOIN("| ",TRUE,UNIQUE(FILTER(rngNOTES,(rngDWG=INDEX($H3#,,1))*(rngASSY=INDEX($H3#,,2))*(rngASSY_DESCR=INDEX($H3#,,4))))))

但是,我收到一个错误(#N/A),我认为这是由于$H3#中UNIQUE溢出的大小(行数)和我试图评估的范围的差异。

是否有一种方法可以使此工作,使包含此公式的列是动态的?


编辑:示例文件屏幕截图

pgSystemTester,我有一个示例文件准备;在我的Google Drive里。

如果我将K3更新为

=IF(INDEX(H3#,,1)<>"",(TEXTJOIN("| ",TRUE,UNIQUE(FILTER(rngNOTES,(rngDWG=$H3)*(rngASSY=$I3)*(rngASSY_DESCR=$J3))))),"")

我可以让分子式溢出来。但是,标准引用保持静态,不会增加到"new"。行参考。结果数据仅对ROW(1)是正确的,并作为ROW(1)数据溢出到其他行。

更新的结果捕获

这使我相信我需要以一种方式更新标准以反映新的行位置…这就是我被卡住的地方。

谢谢你,兰迪

根据@pgSystemTester的评论,Textjoin不会泄漏自己,因为它是为整个数组返回单个结果(在这种情况下,数组H3#)。
来克服这一点,你需要把你的出数组的行,并应用textjoin函数单独每一行。为单行创建公式并手动复制它是一种选择,但是要动态地泄漏它,您可以使用BYROW()函数来解决这个确切的问题。

=BYROW(H3#,LAMBDA(row,TEXTJOIN("|", TRUE, UNIQUE(FILTER(rngNOTES,(rngDWG=INDEX(row,1))*(rngASSY=INDEX(row,2))*(rngASSY_DESCR=INDEX(row,3)))))))

注意我是如何在过滤器中使用INDEX(row, x)的,因为它不能接受单独的数组H3#, I3#和J3#(另外,H3#跨越所有三列,所以row数组也是如此)。

相关内容

  • 没有找到相关文章

最新更新