【问题标题】:Concatenate a range of cells in OO Calc在 OO Calc 中连接一系列单元格
【发布时间】:2017-04-16 00:36:56
【问题描述】:

我的 A 列包含这些单元格:

A1: Apple
A2: Banana
A3: Cherry

我想要一个公式,将它们串在一个单元格中,如下所示:

"Apple, Banana, Cherry"

【问题讨论】:

  • 我无法理解如何连接范围还不是一件事。这是所有编程语言的基础(数组到字符串),但电子表格会让您跳过箍。即使他们不能处理多维数组,他们也应该毫无问题地处理一个维度。但相反,您必须一次编写宏或手动编码一个单元格。这是电子表格最愚蠢的事情,放下手。

标签: openoffice-calc


【解决方案1】:

使用CONCATENATE 函数或与号 (&):

=CONCATENATE("""", A1, ", ", A2, ", ", A3, """")

要获得更强大的功能,请编写一个使用 Join 的基本宏。

编辑

没有可以连接范围的函数。相反,编写一个基本宏或将CONCATENATE 公式拖放到多个单元格。见https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=5438

【讨论】:

  • 抱歉,我指的是任意范围,例如 A1:A3。我的问题措辞很糟糕。
【解决方案2】:

适用于长列表的另一种方法是将 A1 复制到 B1,添加 " 并在 B2 中输入:

 =B1&", "&A2&IF(A3="";"""";"")

然后双击单元格 B2 的填充柄(右下角的小方块)。结果应显示在列表最后一项所在行的 ColumnB 中。

【讨论】:

    【解决方案3】:

    我不知道它是否被植入到 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)

    更多信息在这里: https://help.libreoffice.org/6.3/en-US/text/scalc/01/func_textjoin.html?DbPAR=CALC#bm_id581556228060864

    【讨论】:

      【解决方案4】:

      从 Apache OpenOffice Calc 的 4.1.7 版开始,这个问题仍然没有简单的解决方案。 CONCATENATE 不接受单元格范围,并且没有像 LibreOffice 这样的 TEXTJOIN 函数。但是,有一个解决方法。

      这本质上是 pnuts' answer 的复制品,但有图片希望能有所帮助。正如上面的问题所使用的那样,他的回答明确解决了用分隔符分隔项目以及开头和结尾的引号。由于一般问题(如何连接一系列单元格)对许多人有用,我认为我的答案应该仍然有用,即使我没有这样做。

      在我的例子中,我有一列的字母对应于已完成的工作集,一列的字母对应于未完成的工作集。这些字母只出现在每 8 行,所以我不能同时查看它们。我只想将所有完成的字母混合在一个单元格中以便于查看,未完成的字母也是如此。

      为了方便起见,该示例删除了每个字母的 7 个空行,并手动输入了哪些字母已完成/未完成。

      A 列是要连接的“未完成”列。 C 列用于执行连接。第 2 行是第一行,第 24 行是最后一行。 G1 在文档顶部附近一个易于查看的位置显示连接结果。

      B 列和 D 列以及单元格 G2 使用相同的方法来显示“完成”数据。此处未显示公式。

      在单元格 C2 中,明确指向 A2:
      =A2

      如果您可能有空白,就像我一样,C2 中需要有一个条件来将第一个单元格视为空白文本,而不是零 注意 1
      =IF (A2 "" ; A2 ; "")

      然后,在单元格 C3 中,连接 C2 和 A3:
      =C2 & A3

      复制 C3,然后突出显示 C4:C24 并粘贴公式以自动填充这些单元格。

      无论您在哪里需要连接的结果,请参考 C24。

      注意事项

      注意 1 如果 A 行顶部的 N 个单元格是空白的,并且您只让 C2 = A2,C 上的前 N ​​行将显示 0,并且单个 0 将被添加到前面串联结果。这里用 B 列和 D 列来说明问题:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-02
        • 2020-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-10
        相关资源
        最近更新 更多