我正在尝试将两个单元合并为一个,并且知道如何做到这一点很简单,我的问题是低于100的数字(即001)松开了它们的“0”。
例:
单元格A1 - “AAA”单元格B1 - “001”单元格C1 - = A1&“ - ”&B1
单元格C1应显示“AAA-001”,但仅显示“AAA-1”
单元格B1被格式化为显示001的数字。
我尝试过使用CONCANTATE和TEXT,但无济于事。有谁知道如何制作excel产生结果“AAA-001”?
我正在尝试将两个单元合并为一个,并且知道如何做到这一点很简单,我的问题是低于100的数字(即001)松开了它们的“0”。
例:
单元格A1 - “AAA”单元格B1 - “001”单元格C1 - = A1&“ - ”&B1
单元格C1应显示“AAA-001”,但仅显示“AAA-1”
单元格B1被格式化为显示001的数字。
我尝试过使用CONCANTATE和TEXT,但无济于事。有谁知道如何制作excel产生结果“AAA-001”?
Answers:
问题在于,除非您以某种方式告诉它,否则excel会将该数字解释为数字,并且不会查看您为该数字指定的格式。您可以通过两种方式解决此问题:
1)将 B1格式化为文本
2)更优雅 - 使用文本公式将数字转换为您想要的格式的文本:
=A1&"-"&TEXT(B1,"000")
这将给出您想要的结果,并将B1保留为可用于计算的数字。文本公式采用逗号分隔的两个参数,第一个是数字,第二个是您想要的格式。假如你想在值之前插入井号,并使用小数点,你的格式将是“£000.00”
尝试在001前面的单元格中添加单引号,如下所示:'001。
要么
如果这是不可能的,那么我将使用VBA函数(将其放在VBA模块中):
Public Function Padding(cell As Range, paddingFormat As String) As String
Padding = format(cell.Value, paddingFormat)
End Function
然后你可以使用如下公式:=连接(A1;“ - ”;填充(A2,“000”)) - 填充返回001,即使A2等于1。
paddingFormat基于Format函数(参见下面的链接)。在您的情况下,您需要000至少始终强制3位数。 http://msdn.microsoft.com/en-us/library/59bz1f0h(v=vs.90).aspx