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


0

我正在尝试将两个单元合并为一个,并且知道如何做到这一点很简单,我的问题是低于100的数字(即001)松开了它们的“0”。

例:

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

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

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

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

Answers:


5

问题在于,除非您以某种方式告诉它,否则excel会将该数字解释为数字,并且不会查看您为该数字指定的格式。您可以通过两种方式解决此问题:

1)将 B1格式化为文本

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

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

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


完善。我知道问题是什么,但是无法解决它,使用“000”作为文本的格式工作完美。TY这么多,你刚刚在接下来的几个月里救了我20个小时的工作:)
Kevin Anthony Oppegaard Rose

0

尝试在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


不幸的是,001是从一个外部的巫术中收集并复制到一个地方,因此将其转换为文本使用'不会是一个巨大的时间下沉,我不妨留下它作为001并用眼睛比较两者。谢谢你的回答。
Kevin Anthony Oppegaard Rose
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.