Excel 删除第一个字符,如果它是;0“;(零)
为了删除列中的前导零,我无法获得正确的公式。我构建了以下内容,但它返回Excel 删除第一个字符,如果它是;0“;(零),excel,excel-formula,Excel,Excel Formula,为了删除列中的前导零,我无法获得正确的公式。我构建了以下内容,但它返回FALSE而不是不带零的值: =IF(RIGHT(Z2:Z19497,LEN(Z2:Z19497)-1)="0",MID(Z2:Z19497,2,LEN(Z2:Z19497))) 希望您能提供帮助。假设您的数据在Z2到Z19497中,您希望在单元格AA2中输入以下公式,然后从AA2到AA19497中进行选择并填写>向下(或按Ctrl+D): 注意:如注释中所述,不需要在LEN之后添加-1,因为MID即使指定的长度大于剩余字符
FALSE
而不是不带零的值:
=IF(RIGHT(Z2:Z19497,LEN(Z2:Z19497)-1)="0",MID(Z2:Z19497,2,LEN(Z2:Z19497)))
希望您能提供帮助。假设您的数据在Z2到Z19497中,您希望在单元格AA2中输入以下公式,然后从AA2到AA19497中进行选择并填写>向下(或按Ctrl+D): 注意:如注释中所述,不需要在
LEN
之后添加-1
,因为MID
即使指定的长度大于剩余字符数,也可以正常工作。为了进一步减少键入,您可以使用999
(或安全地超过最长单元格的数字)而不是LEN(Z2)-1
您尝试的公式有几个问题:
Z2:Z19497
),而不是一个单元格(Z2
)IF
语句有“IF true”部分(MID(Z2:Z19497,2,LEN(Z2:Z19497))
),但没有“IF false”部分。这就是为什么最后的结果是FALSE
,而不是Z2
中的值LEFT
比使用RIGHT
更容易请注意,当您向下复制公式时,
Z2
将自动前进到Z3
,Z4
,等等。假设您的数据在Z2到Z19497之间,您希望在单元格AA2中输入以下公式,然后从AA2到AA19497进行选择并向下填充(或按Ctrl+D):
注意:如注释中所述,不需要在LEN
之后添加-1
,因为MID
即使指定的长度大于剩余字符数,也可以正常工作。为了进一步减少键入,您可以使用999
(或安全地超过最长单元格的数字)而不是LEN(Z2)-1
您尝试的公式有几个问题:
Z2:Z19497
),而不是一个单元格(Z2
)IF
语句有“IF true”部分(MID(Z2:Z19497,2,LEN(Z2:Z19497))
),但没有“IF false”部分。这就是为什么最后的结果是FALSE
,而不是Z2
中的值LEFT
比使用RIGHT
更容易请注意,当您向下复制公式时,
Z2
将自动前进到Z3
,Z4
,等等。您的公式有几个问题
首先,您试图将公式应用于一系列单元格Z2:Z19497
。相反,您需要单独计算每个单元格,检查Z2
是否以零开始,Z3
是否以零开始,依此类推。如果将公式添加到类似cellAA2
的位置,然后将其填充到AA19497
,则列AA
中会有一个没有前导零的值列表
下一个问题是您的IF
test语句。如果我们把你的公式改成一个单元格,它看起来是这样的:RIGHT(Z2,LEN(Z2)-1)=“0”
。这个公式说,告诉我,除了单元格Z2
中的第一个字符之外,是否所有字符都等于0。看到这个有什么问题吗?只有当单元格Z2
中有一个以0结尾的两位数时,它才会返回true。否则,您将测试多字符值是否等于0,这是不可能的
相反,让我们检查第一个字符是否等于0。为此,让我们使用LEFT
函数获取第一个字符LEFT(Z2,1)=“0”
Awesome,现在我们知道第一个字符是否为0
假设第一个字符是0。我们想删除它,但我们将如何做到这一点?当前逻辑的单单元格版本是MID(Z2,2,LEN(Z2))
,应该可以工作,但有点不正确。为了完整起见,让我们修复它。由于要删除单元格Z2
的第一个字符,因此不再希望MID
使用Z2
的长度,而是希望它使用Z2
的长度减去1。让我们将公式的这一部分重写为MID(Z2,2,LEN(Z2)-1)
现在转到Z2
中的单元格不以0开头的情况。如果是这种情况,您希望公式只返回该值。我们可以通过简单地在公式的指令后面添加一个逗号来实现这一点,当数字以0开头时,插入一个Z2
。这听起来有点令人困惑,但在下面的完整公式中应该是有意义的:
=IF(左(A1,1)=“0”,中(A1,2,LEN(A1)-1),A1)
一旦输入到单元格中,大概是AA2
,您应该能够单击该单元格右下角的小框,让它沿着列填充公式,直到数据的末尾,大概是AA19497
如果
Z
列中的所有值都是前面带零的数字,则可以使用另一个选项,如果我们遵循与此响应其余部分相同的模式,则只需在另一个单元格中输入公式=Z2*1
或=Z2/1
。这将在新列中为您提供Z
的数值,并且更易于记忆和键入。不幸的是,如果您的Z
列中的值与数字混合在一起,它将不起作用。您的公式有几个问题
首先,您试图将公式应用于一系列单元格Z2:Z19497
。相反,您需要单独计算每个单元格,检查
=IF(LEFT(Z2,1)="0",MID(Z2,2,LEN(Z2)-1),Z2)