合并两个单元格“AAA”和“001”得到“AAA-001”?

合并两个单元格“AAA”和“001”得到“AAA-001”?

我正在尝试将两个单元格合并为一个,并且知道如何轻松地完成此操作,我的问题是低于 100(即 001)的数字丢失了“0”。

例子:

单元格 A1 - “AAA” 单元格 B1 - “001” 单元格 C1 - =A1&"-"&B1

单元格 C1 应显示“AAA-001”,但它只显示“AAA-1”

单元格B1被格式化为显示001的数字。

我尝试使用 CONCANTATE 和 TEXT,但无济于事。有人知道如何让 excel 产生结果“AAA-001”吗?

答案1

问题是,除非你以某种方式告诉它,否则 Excel 会将该数字解释为数字,并且不会查看你为该数字指定的格式。你可以用两种方法解决这个问题:

1)将 B1 格式设置为文本

2)更优雅 - 使用文本公式将数字转换为所需格式的文本:

 =A1&"-"&TEXT(B1,"000")

这将给出您想要的结果,并将 B1 保留为可用于计算的数字。文本公式采用两个以逗号分隔的参数,第一个是数字,第二个是您想要的格式。假设您想在值前插入英镑符号并使用小数点,您的格式将是“£000.00”

答案2

尝试在 001 前面的单元格中添加单引号,如下所示:'001.

或者

如果这不可能,那么我将使用 VBA 函数(将其放在 VBA 模块中):

Public Function Padding(cell As Range, paddingFormat As String) As String
  Padding = format(cell.Value, paddingFormat)
End Function

然后您可以使用类似公式:=Concatenate(A1;"-";Padding(A2,"000")) - 即使 A2 等于 1,padding 也会返回 001。

paddingFormat 基于 Format 函数(见下面的链接)。对于您的情况,您需要 000 来强制始终至少为 3 位数字。 http://msdn.microsoft.com/en-us/library/59bz1f0h(v=vs.90).aspx

相关内容