Excel数据表列数较多时,如果只想保留其中几列,手动复制整理比较麻烦。利用HSTACK函数,可以把需要的数据列重新组合成一个临时区域,再交给XLOOKUP或SORT继续处理,特别适合动态查询和数据整理。
一、HSTACK函数有什么作用?
HSTACK主要用于横向拼接多个数据区域,基本写法为:
=HSTACK(区域1,区域2,...)
例如:=HSTACK(A2:A10,C2:C10,E2:E10)
就可以把A、C、E三列重新组合成一个新的数据区域。原数据不需要移动,结果也会随着源数据变化自动更新。
二、按姓名提取指定字段
假设员工表中A列姓名、B列工号、C列部门、D列性别、E列籍贯、F列专业、G列身高、H列绩效。现在J2输入姓名,希望一次返回该员工的性别、籍贯和专业三项信息。这时可以使用:
=XLOOKUP(J2,A2:A10,HSTACK(D2:D10,E2:E10,F2:F10))
这里先用HSTACK把需要返回的3列组合起来,再通过XLOOKUP根据姓名进行精确匹配。输入不同姓名后,K2开始的区域会自动溢出对应结果。这种方法尤其适合只提取指定字段的查询,不需要调整原始数据列的位置。

三、只保留指定列并进行排序
如果需要从完整员工表中筛选姓名和身高,并按照身高从高到低排列,可以直接使用:
=SORT(HSTACK(A2:A10,G2:G10),2,-1)
HSTACK先组合姓名和身高两列,SORT再按照组合区域的第2列排序。最后得到的就是一张重新整理后的动态数据表。

四、使用注意
HSTACK、XLOOKUP和SORT属于较新的函数,建议使用Excel 365、Excel 2021或最新版WPS。另外,这类公式会产生动态数组,如果结果区域存在其他内容,可能出现#SPILL!错误。
总结
HSTACK配合XLOOKUP适合精准提取,配合SORT则适合快速生成排序后的数据区域。以后在工作中可以运用起来,提高工作效率!
评论 (0)