Excel 2010中能否使用工作表公式拼接数组?
解决Excel 2010中数组元素拼接问题
为什么=CONCATENATE({"A","B"})只返回"A"
Excel 2010的CONCATENATE函数不支持直接遍历数组并拼接所有元素。当你传入数组{"A","B"}作为单个参数时,它只会读取数组的第一个元素,因此仅返回"A"。
可行的解决方法(适用于数组公式结果拼接)
Excel 2010没有后续版本的TEXTJOIN函数,需用以下两种实用方法实现数组元素拼接:
方法1:PHONETIC函数(仅适用于文本数组)
PHONETIC可拼接单元格区域或转置后的一维数组文本,直接处理数组时结合TRANSPOSE转换格式:
=PHONETIC(TRANSPOSE({"A","B"}))
按Ctrl+Shift+Enter以数组公式形式输入,即可得到"AB"。若数组是公式生成的结果,直接替换{"A","B"}即可。
方法2:数组公式结合INDEX与拼接符(通用型)
如果数组包含非文本元素,或需要更灵活的拼接逻辑,用INDEX逐个提取数组元素并拼接:
=SUM(IFERROR(INDEX({"A","B"},ROW(INDIRECT("1:"&ROWS({"A","B"}))))&"",0))
同样按Ctrl+Shift+Enter输入。原理是通过INDEX遍历数组元素,拼接为字符串后利用SUM的特性完成整体拼接。
应用到自定义数组公式结果
假设你的数组公式为=IF(A1:A3>10,A1:A3,""),要拼接其中非空结果,只需替换示例中的数组部分:
=PHONETIC(TRANSPOSE(IF(A1:A3>10,A1:A3,"")))
按Ctrl+Shift+Enter执行即可。
内容的提问来源于stack exchange,提问作者andrewb
相关产品推荐
相关产品推荐

