You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在动态数组列中使用动态数组公式的问题求助

动态数组公式跨表查找问题

无法在结构化表格中使用动态数组,尝试在动态表格中应用动态数组公式时,核心障碍是跨工作表查找由动态数组生成的列的数据。

现有可运行的标准公式

以下公式可正常运行,但属于标准列公式(需下拉填充,第5行会自动变为AJ5和I5):

=IF(AJ4 = "", "",@XLOOKUP(I4, Listing!$D$4#, Listing!$T$4#, "not found", 0))

期望的动态数组公式形式

希望实现无需下拉的动态数组公式,目标形式如下:

=IF(AJ4# = "", "",@XLOOKUP(I4#, Listing!$D$4#, Listing!$T$4#, "not found", 0))

已尝试的主要变体

主要尝试了以下固定范围的公式变体,但未达到预期效果:

=IF(AJ4 = "", "",@XLOOKUP(I4, Listing!$D$4:$D$1917, Listing!$T$4:$T$1917, "not found", 0))

理想的公式变体方向

真正想要实现的是多列匹配的动态数组公式,形式如下:

=IF(AJ4# = "", "",@XLOOKUP(I4:M4#, Listing!$D$4:$E$4#, Listing!$T$4:$T$4#, "not found", 0))

加入IF(AJ4# = "", "",...)是为了强制生成动态数组,选用XLOOKUP是因为它作为新函数更适配动态数组需求。

可运行但非动态的公式

以下公式均可运行,但Excel将其识别为标准公式(仍需下拉填充):

=IF(INDEX($AJ$4#, ROW(A1)) = "", "",@XLOOKUP(I4, Listing!$D$4#, Listing!$T$4:$T$1917,@XLOOKUP(I4, Listing!$E$4#, Listing!$T$4:$T$1917, "n/a"), 0))
=IF(INDEX($AJ$4#, ROW(A1)) = "", "",@XLOOKUP(I4, Listing!$D$4#, Listing!$U$4:$U$1917,@XLOOKUP(I4, Listing!$E$4#, Listing!$U$4:$U$1917, "n/a"), 0))
=IF(AJ4 = "", "",@XLOOKUP(I4, Listing!$D$4#, Listing!$T$4#, @XLOOKUP(I4, Listing!$E$4#, Listing!$T$4#, "n/a"), 0))
=IF(INDEX($AJ$4#, ROW(A1)) = "", "",@XLOOKUP(I4, Listing!$D$4#, Listing!$T$4#, @XLOOKUP(I4, Listing!$E$4#, Listing!$T$4#, "n/a"), 0))
=IF(INDEX($AJ$4#, ROW(A1)) = "", "",@XLOOKUP(I4, Listing!$D$4#, Listing!$U$4:$U$1917,@XLOOKUP(I4, Listing!$E$4#, Listing!$U$4:$U$1917, "n/a"), 0))

注:上述公式中,T为动态列,U为标准列。


内容的提问来源于stack exchange,提问作者Scott McNay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 20:22:51