如何在 Excel 中连接值?

如何在 Excel 中连接值?

我有一个如下所示的电子表格:

   ABCDE ...
1| 1 0 0 1 0
2| 0 1 0 0 1
3| 0 0 0 1 0
4| 1 0 0 0 0

我想连接 F 列中的第 1 行,以便返回:10010

但是输入=concatenate(A1:E1)会返回错误#VALUE!,而使用数组公式({=concatenate(A1:E1)})只会返回 1。

此方法让我接近了,但是它删除了公式,所以我无法拖下并连接所有行。

为什么 Excel 的连接如此困难?有没有其他不使用 VBA 的方法来实现这一点?

答案1

F1进入:

=A1 & B1 & C1 & D1 & E1

并抄下来。

在此处输入图片描述

编辑#1:

如果你想咬紧牙关,使用VBA,然后考虑这个微小的自定义函数

Public Function KonKatenate(rIN As Range) As String
    Dim r As Range
    For Each r In rIN
        KonKatenate = KonKatenate & r.Text
    Next r
End Function

用户定义函数 (UDF) 非常容易安装和使用:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件另存为.xlsm而不是.xlsx

要删除 UDF:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要从 Excel 使用 UDF:

=KonKatenate(A1:Z1)

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关 UDF 的详细信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必须启用宏才能使其工作!

答案2

Excel 中的功能CONCATENATE非常有限。据我所知,要获得可填充的连接公式,唯一的选择就是忍痛将每个术语的地址作为单独的参数输入。

=CONCATENATE(A1,B1,C1,D1,E1)

抱歉,这是我在没有 VBA 的情况下能提供的最好的解决方案。希望您没有太多的列。

相关内容