我正在尝试将两个单元格合并为一个,并且知道如何轻松地完成此操作,我的问题是低于 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