我试图在其中使用带有选择函数的非连续 xlookup,但它似乎没有返回超过 255 个字符的单元格内容(#VALUE!)。有什么办法可以解决这个问题吗?
这是公式:
=XLOOKUP(O4&,E4:E47,CHOOSE({1,2,3},E4:E47,F4:F47,K4:K47))
我在网上到处找,但找不到任何东西。
我试图在其中使用带有选择函数的非连续 xlookup,但它似乎没有返回超过 255 个字符的单元格内容(#VALUE!)。有什么办法可以解决这个问题吗?
这是公式:
=XLOOKUP(O4&,E4:E47,CHOOSE({1,2,3},E4:E47,F4:F47,K4:K47))
我在网上到处找,但找不到任何东西。
使用选择连接非连续数组或列时出现问题
如果您在 CHOOSE 中使用数组索引,例如 CHOOSE( {1,2}, ...) ,则会出现它会将返回的值截断为最多 255 个字符,至少对于文本值是这样。具有讽刺意味的是,如果您使用标量索引,例如 CHOOSE(2, ...),则似乎没有字符限制。
这里的一种解决方法可能是使用 Google 表格,因为 CHOOSE 不仅可能没有这个特定的错误,而且您实际上可以使用
{ E4:E47, F4:F47,K4:K47 }
.用于查找不连续返回数组或表的 Excel 解决方案
A. 一个明显的解决方案是为每个返回列使用单独的 XLOOKUP 函数。
不幸的是,对于相同的搜索值,需要多 3 倍的查找搜索,这都是低效的。如果返回列的数量发生变化,更不用说难度了。
B. 如果您可以将所有返回列集中在一个范围内,例如 E4:K47,则可以使用 VLOOKUP:
C. 或者 INDEX 到 XLOOKUP 返回一个整行数组:
D. 最后,如果你的数据是真正分散且不连续的,使用 MATCH & INDEX 来构建你自己的 LOOKUP 函数:
这个解决方案的美妙之处在于 INDEX 自然地允许您指定非连续区域(例如,在进行选择时按住 CTRL)。
我仍然不确定这些解决方案 A 到 D 中的哪一个将是最快的。我怀疑使用静态数组作为函数参数可能只是多次执行相同的函数。我的钱在 D 或 C 上。
注意。对于 Office 365 之前的版本,请记住使用 CTRL+SHIFT+ENTER (CSE) 完成数组公式,同时编辑多个等于返回数组长度的单元格。在 Office 365 中,公式将自动溢出到相邻的单元格中。