=CHOOSECOLS(A2:E10,MATCH(G1:K1,A1:E1,0))按指定顺序获取数据公式怎么操作
浅谈出口账务和excel函数 这个公式的作用是:按 G1:K1 指定的列名顺序,从 A1:E1 中匹配出对应列,再抽取 A2:E10 的数据。
· G1:K1:你想要的列名顺序(比如写成“姓名、部门、工资”,顺序随意)
=CHOOSECOLS(A2:E10,MATCH(G1:K1,A1:E1,0))
回车后,结果会自动溢出到 G2:K10 区域,无需下拉。
MATCH(G1:K1,A1:E1,0) 返回 G1:K1 每个列名在 A1:E1 中的位置序号,如 {3,1,5}
CHOOSECOLS(数组, 列序号) 按序号抽取列,支持数组序号,实现重排
版本要求 需 Excel 365 / 2021 或 WPS 最新版,支持动态数组
G1:K1 列名 必须与 A1:E1 完全一致(含空格),否则返回 #N/A
· 返回 #N/A:G1:K1 中有列名在 A1:E1 里找不到,检查拼写和空格。
· 返回 #VALUE!:MATCH 结果数量与 CHOOSECOLS 要求不匹配,或版本不支持动态数组。
· 想改顺序:直接调整 G1:K1 的列名排列即可,公式不用动。
=INDEX($A$2:$E$10,ROW(A1),MATCH(G$1,$A$1:$E$1,0))