gpt4 book ai didi

excel - 在 Excel/Calc 中将文本反转为列

转载 作者:行者123 更新时间:2023-12-03 00:44:26 25 4
gpt4 key购买 nike

我使用过的大多数电子表格软件都有一个文本到列功能,可以使用多个条件(分隔符、字符数等)将单个列拆分为多个列。我想相反执行此操作。

我知道我可以使用公式创建第三列,其中两个单元格的值连接在一起,并在它们之间使用分隔符,但这看起来很笨拙。

为什么这不是内置函数?还是在我看不到的地方?

最佳答案

内置函数可让您将多个单元格合并为一个单元格,每个单元格之间有分隔符。

假设您希望在每个值之间使用 , 连接单元格 A1A5

<小时/>

Excel 2016

=TEXTJOIN(",",TRUE,A1:A5)
<小时/>

旧版 Excel 版本

您可以轻松组合而无需分隔符:

=CONCAT(A1:A5)

与 concat 等效的是 & 文本运算符,您可以这样使用:

=A1 & A2 & A3 & A4 & A5

...与 CONCAT 的结果相同。添加逗号分隔符:

=A1 & "," & A2 & "," & A3 & "," & A4 & "," & A5
<小时/>

替换TEXTJOIN函数

更好的是,我们可以构建我们自己的 TEXTJOIN 版本,我将其称为 TXTJOIN:

Function TxtJoin(delim As String, ignoreEmpty As Boolean, rg As Range) As String
Dim c As Range
For Each c In rg
If Not ignoreEmpty Or Not IsEmpty(c) Then TxtJoin = TxtJoin & delim & c
Next c
If TxtJoin <> "" Then TxtJoin = Mid(TxtJoin, Len(delim) + 1)
End Function

第一个参数delim是放置在每个值之间的分隔符,可以是一个或多个字符,甚至可以是特殊字符,例如行的CHAR(10) Feed(将显示在启用自动换行的单元格中。)

如果您希望结果中包含空白单元格,并且每个单元格之间有分隔符,则第二个参数 ignoreEmpty 可以为 FALSE,或者为 TRUE 以跳过空白单元格。 (显然,如果指定的范围没有空白单元格,那么您选择什么选项都没有关系。)

第三个参数是单元格范围。如果指定了多于一行或多列,则公式将从右到左然后从上到下读取。

在我们的示例中,您可以像这样使用它:

=TxtJoin(",",TRUE,A1:A5)

(这与 Excel 2016 的 TEXTJOIN 函数的用法相同。)

关于excel - 在 Excel/Calc 中将文本反转为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49642320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com