Excel公式 - 如何将来自10列或多列的值堆叠到1列中?

3

我有10列不同值,希望将它们合并为一列。这可以通过Excel公式完成吗?我了解到可以通过VBA实现,但我对此不是特别熟悉。下面是我的示例数据屏幕截图以方便您更好地理解。将其堆叠到一列中

1个回答

4

使用Excel 365:

K2 单元格中输入:

=FILTERXML("<a><b>"&SUBSTITUTE(TEXTJOIN(",",TRUE,TRANSPOSE($A$2:$J$999)),",","</b><b>")&"</b></a>","//b")

图片描述在此输入

(应该适用于Excel 2013及以上版本,但可能需要使用数组公式)

注:

TEXTJOIN()函数将从单元格块中按正确顺序创建一个不包含空值的逗号分隔字符串。

参见jvdV's的帖子以获取关于FILTERXML()的教程资料。


1
我正在使用Excel 365,你的公式完美地起作用了!非常感谢你的帮助!!感激不尽! - Hershey672
那么你转置范围(以便按正确顺序运行整个过程),然后连接所有内容,但是接下来呢?为什么需要那些<a>和其他标签,以及FilterXML()函数到底是做什么的? - Dominique
@Dominique 请查看我添加的注释 - Gary's Student
1
要在一个单元格中获得结果,对于“分号”用户:=FILTERXML("<a><b>"&SUBSTITUTE(TEXTJOIN(",";TRUE;TRANSPOSE($A$2:$J$999));";";"</b><b>")&"</b></a>";"//b"),其中很难弄清楚中间的分号:);";";"<(至少对我来说是这样)。在Excel 2019中输入为数组公式(CSE)。仍然没有弄清如何获取列溢出。 - VBasic2008
@VBasic2008 ______________________谢谢! - Gary's Student

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接