用 CHOOSECOLS 挑选特定列
如果只想返回某几列(且顺序可以自定义),把 CHOOSECOLS 套在第三参数里就行:
· 公式示例:=XLOOKUP(查找值, 查找列, CHOOSECOLS(数据区域, 4, 1, 5))
· 效果:找到匹配行后,只返回数据区域的第4、第1、第5列。
用 HSTACK 拼接不连续的多列
如果要返回的列本身不连续,或者你想把几个独立的列“拼”在一起作为返回结果,可以用 HSTACK:
· 公式示例:=XLOOKUP(查找值, 查找列, HSTACK(E2:E10, B2:B10, D2:D10))
· 效果:把 E、B、D 三列横向拼成一个新的返回区域,一次性带出这三列的数据。
实际应用中的建议
· 搭配 MATCH 实现动态列:如果列的位置会变,可以结合 MATCH 动态获取列号。比如 CHOOSECOLS(数据区域, MATCH(列标题, 标题行, 0)),这样列标题一变,返回的列自动跟着变。
· 注意 XLOOKUP 的“一维”特性:XLOOKUP 的第三参数如果是二维数组(多行多列),直接下拉填充可能只会返回第一列。如果遇到这种情况,通常需要用 REDUCE + VSTACK 循环处理,或者换用 FILTER 函数。

