在Excel中将相同的文本添加到列中的每个单元格

93

如何在Excel中向一列的每个单元格追加文本?我需要在末尾添加逗号(",")。

示例:

email@address.com 转换为 email@address.com,

数据样本:

m2engineers@yahoo.co.in
satishmm_2sptc@yahoo.co.in
threed_precisions@rediffmail.com
workplace_solution@yahoo.co.in
threebworkplace@dataone.in
dtechbng@yahoo.co.in
innovations@yahoo.co.in
sagar@mmm.com
bpsiva@mmm.com
nsrinivasrao@mmm.com
pdilip@mmm.com
vvijaykrishnan@mmm.com
mrdevaraj@mmm.com
b3minvestorhelpdesk@mmm.com
sbshridhar@mmm.com
balaji@mmm.com
schakravarthi@mmm.com
srahul1@mmm.com
khramesh2@mmm.com
avinayak@mmm.com
rockindia@hotmail.com
12个回答

237

看看这对您是否有用。

  • 所有的数据都在A列(从第1行开始)。
  • 在B列,第1行中,输入= A1& ","
  • 这将使单元格B1等于A1并附加一个逗号。
  • 现在选择单元格B1,并从右下角向下拖动到所有行(这将复制公式并使用相应的A列值)。
  • 选择新附加的数据,将其复制并使用 粘贴 -> 值 将其粘贴到需要的位置。

就是这样!


最后一步的描述似乎不完整。我必须实际复制单元格B1,然后选择其下面的其他单元格,然后粘贴。 - Tim Holt
9
如果有人不知道,你可以复制并选择“粘贴特殊...” > “数值”,将结果的数值移回到原始列中,而公式不会破坏它们。 - A__
如果你想要移除某些东西怎么办? - Ridan

26

这是一个简单的 "&" 函数。

=cell&"yourtexthere"

举例来说,你的单元格中写着"Mickey",而你想要的是"Mickey Mouse"。"Mickey"在A2单元格中。在B2单元格中,输入以下公式:

=A2&" Mouse"

然后,复制并选择“只粘贴数值”选项。

B2 now reads "Mickey Mouse"

24

很简单...

=CONCATENATE(A1, ",")

示例: 如果电子邮件地址email@address.com在A1单元格中,则在另一个单元格中写入: =CONCATENATE(A1, ",")

输入email@address.com后,应用此公式,您将得到email@address.com,

去除公式: 复制该单元格,然后使用 Alt + E + S + V 或选择“粘贴为值”选项。


6
如果您只是想为了显示而添加字符,则无需使用额外的列或VBA。正如this post所建议的那样,您需要做的就是:
  1. 选择您想要应用格式的单元格
  2. 单击“主页”选项卡
  3. 单击“数字”
  4. 选择“自定义”
  5. 在“类型”文本框中,通过将数字零放入所需字符中来输入所需的格式。
下面是一个这样的文本示例,用于格式化:
  • 如果您希望包含值为120.00的单元格读取$120K,则输入$0K

4
很简单...您可以使用连接函数将它们全部放入一个单元格中:
=CONCATENATE(A1, ", ", A2, ", ", and so on)

2

其中最简单的方法是在“数据”选项卡下使用“闪存填充”选项。

  1. Keep the original input column on the left (say column A) and just add a blank column on the right of it (say column B, this new column will be treated as output).

  2. Just fill in a couple of cells of Column B with actual expected output. In this case:

          m2engineers@yahoo.co.in,
          satishmm_2sptc@yahoo.co.in,
    
  3. Then select the column range where you want the output along with the first couple of cells you filled manually ... then do the magic...click on "Flash Fill".

它基本上理解与输入相对应的输出模式,并填充空单元格。

2

选中列,然后按Ctrl + F

查找和替换

查找“.com”

替换为“.com, ”

然后再进行一次 .in 的操作

查找和替换

查找“.in”

替换为“.in, ”


1
我刚为另一个答案写了这个:
按照你的示例,你可以使用表单调用它:appendTextToRange "[theRange]", ","
Sub testit()
    appendTextToRange "A1:D4000", "hey there"
End Sub


Sub appendTextToRange(rngAddress As String, append As String)

    Dim arr() As Variant, c As Variant
    arr = Range(rngAddress).Formula

    For x = LBound(arr, 1) To UBound(arr, 1)
        For y = LBound(arr, 2) To UBound(arr, 2)
            Debug.Print arr(x, y)
            If arr(x, y) = "" Then
                arr(x, y) = append
            ElseIf Left(arr(x, y), 1) = "=" Then
                arr(x, y) = arr(x, y) & " & "" " & append & """"
            Else
                arr(x, y) = arr(x, y) & " " & append
            End If
        Next
    Next
    Range(rngAddress).Formula = arr

End Sub

1

选择单元格范围,输入值并按下 Ctrl + Enter

当然,如果您想手动完成此操作,则可以这样做。


0

这是对@Edward-Leno的回答的补充,用于更详细/解释和情况,其中文本单元格是公式而不是值,并且您想要保留原始公式。

假设您的单元格看起来像这样(公式)

="email" & "@" & "address.com"

=A1 & "@" & C1

而不是这个(值)

email@address.com

如果“电子邮件”和“address.com”是像A1是电子邮件,C1是address.com部分这样的单元格,那么你会得到类似于=A1&"@"&C1的东西,这很重要,因为A1和C1可能不是常量,可以更改,所以逗号连接的值会根据其公式更改,例如,如果C1是“gmail.com”,“yahoo.com”或其他基于其公式的内容。 值方法:以下步骤将成功地附加文本但仅保留值使用一个临时列(这也适用于行,但为简单起见,方向是针对列的)
  1. 假设列A是您的数据。
  2. 在临时列B中,从任何位置开始,例如在B1处,并放置此公式:

=A1&","

实质上,“&”是连接运算符,将两个字符串组合在一起(数字转换为字符串)。如果您想在逗号后面有一个空格,则可以将“,”调整为“,”。

  1. 将单元格B1复制并向下复制到B列中的所有其他单元格,可以通过点击单元格B1右下角并向下拖动或使用“Ctrl+C”或右键单击>“复制”来完成。

  2. 使用“Ctrl+V”或右键单击>“粘贴选项:”>“粘贴”将B1粘贴到B列中的所有单元格中。您应该看到数据看起来像您想要的那样。

  3. 复制B列中的所有单元格,并通过右键单击>“粘贴选项:”>“值”将它们粘贴到所需位置。我们选择值,以便不会破坏任何格式或条件格式。

公式保留方法:以下步骤将成功保留原始公式。该过程类似于值方法,只有第2步,用于连接逗号的公式发生了变化。

  1. 假设列A是您的数据。
  2. 在临时列B中,从任何地方开始,例如在B1处,输入以下公式:

=FORMULATEXT(A1)&","

FORMULATEXT()函数获取单元格的公式而不是其值,因此一个简单的例子是它获取=2+2而不是4,或者=A1 & "@" & C1,其中A1是"Bob",C1是"gmail.com",而不是Bob@gmail.com

注意:此公式仅适用于Excel 2013及更高版本。对于Excel 2010及更早版本的替代等效解决方案,请参见此superuser答案:https://superuser.com/a/894441/495155

  • 将单元格B1复制并向下复制到B列中的所有其他单元格,可以通过单击B1单元格右下角并向下拖动或使用“Ctrl+C”或右键单击->“复制”进行复制。

  • 使用“Ctrl+V”或右键单击->“粘贴选项:”->“粘贴”将B1粘贴到B列中的所有单元格中。您应该看到数据看起来像您想要的样子。

  • 通过右键单击->“粘贴选项:”->“值”将B列中的所有单元格复制并粘贴到所需位置。我们选择值,这样它就不会影响任何格式或条件格式。


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