如何用Array Formula跨工作表Index提取并Concat多列数据
解决方案:INDEX结合ARRAYFORMULA实现多列拼接提取
结果表B列(数据表B、C、D列拼接)
在结果表的B2单元格输入以下任一公式:
基于INDEX的精准提取写法
=ARRAYFORMULA(INDEX(数据表!B:D,ROW(A2:A),1)&" "&INDEX(数据表!B:D,ROW(A2:A),2)&" "&INDEX(数据表!B:D,ROW(A2:A),3))
简洁直接拼接写法
=ARRAYFORMULA(数据表!B2:B&" "&数据表!C2:C&" "&数据表!D2:D)
- 说明:
ARRAYFORMULA实现整列批量计算,&用于文本拼接,空格为分隔符(可按需替换为其他符号/文本);INDEX写法通过ROW(A2:A)匹配行号,从源表B:D区域中分别提取第1、2、3列数据拼接。
结果表F列(数据表H、I列拼接)
在结果表的F2单元格输入以下任一公式:
基于INDEX的精准提取写法
=ARRAYFORMULA(INDEX(数据表!H:I,ROW(A2:A),1)&"-"&INDEX(数据表!H:I,ROW(A2:A),2))
简洁直接拼接写法
=ARRAYFORMULA(数据表!H2:H&"-"&数据表!I2:I)
- 说明:逻辑同上,拼接H、I列并使用
-作为分隔符,可根据需求调整分隔符样式。
可选优化:过滤空白行
如果源数据表存在空白行,可添加IF函数过滤无效内容,以B列为例:
=ARRAYFORMULA(IF(数据表!B2:B="","",数据表!B2:B&" "&数据表!C2:C&" "&数据表!D2:D))
内容的提问来源于stack exchange,提问作者Skilz Work
相关产品推荐
相关产品推荐

