我有一列A,其中包含以下单元格:
A1: Apple
A2: Banana
A3: Cherry
我希望有一个公式可以将它们串联在一个单元格中,就像这样:
"Apple, Banana, Cherry"
我有一列A,其中包含以下单元格:
A1: Apple
A2: Banana
A3: Cherry
"Apple, Banana, Cherry"
我不确定它是否被植入OpenOffice,但在它的表亲LibreOffice Calc中,自版本5.2起,你就有了这个函数:TEXTJOIN
TEXTJOIN(delimiter, skip_empty, string1[, string2][, …])
delimiter是文本字符串,可以是范围。
skip_empty是一个逻辑(TRUE或 FALSE,1或0)参数。当为TRUE时,空字符串将被忽略。
string1[, string2][,…]是包含要连接的文本的字符串或对单元格或范围的引用。 范围按行遍历(从上到下)。
示例: =TEXTJOIN(",",1,A1:A10)
"
,并在B2中输入: =B1&", "&A2&IF(A3="";"""";"")
然后双击单元格B2的填充手柄(在其右下角的小方块)。结果应该出现在列B中,列表中最后一个条目所在的行。
列A是需要拼接的“未完成”列。列C用于执行拼接操作。第2行是第一行,第24行是最后一行。G1显示了易于查看的拼接结果,位于文档顶部附近。
列B和D以及单元格G2使用相同的方法显示“完成”的数据。这里不显示公式。
在单元格C2中,明确指向A2:
=A2
如果您可能有空白,就像我一样,需要在C2中设置条件来将第一个单元格视为空文本,而不是零注1:
=IF(A2<>""; A2; "")
无论您在何处需要连接的结果,请引用C24。
注释
注1 如果A行顶部有N个单元格为空,且您只是让C2 = A2,则C上的前N行将显示0,并且单个0将被添加到串联结果的开头。这里,使用B和D列来说明问题:
可以使用CONCATENATE函数或者&符号进行连接:
=CONCATENATE("""", A1, ", ", A2, ", ", A3, """")
如果需要更强大的功能,请编写一个使用Join的基本宏。
编辑:
没有可以连接范围的函数。相反,编写一个基本宏或将CONCATENATE
公式拖放到多个单元格中。请参见https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=5438。