答案1
不要CONCAT()
使用Ampersand
-->&
来组合两个数组,如示例所示:
=LET(
v, VSTACK(TableA, TableB),
FILTER(INDEX(v, , 1)&" "&INDEX(v,,2), INDEX(v, , 3)=$I$2, "No students at this result"))
此外,由于您可以VSTACK()
使用TAKE()
函数使公式变得更短:
=LET(
_v,VSTACK(TableA,TableB),
FILTER(TAKE(_v,,1)&" "&INDEX(_v,,2),TAKE(_v,,-1)=I2,"No students at this result"))
另一种方法是LAMBDA()
使用BYROW()
函数传递自定义计算:
=LET(
_v,VSTACK(TableA,TableB),
_f, FILTER(TAKE(_v,,2),TAKE(_v,,-1)=I2,"No students at this result"),
BYROW(_f,LAMBDA(x, TEXTJOIN(" ",1,x))))
但请注意,使用TEXTJOIN()
函数时需要注意,MSFT 文档如果结果字符串超出32767字符(单元格限制),返回#VALUE!
错误。