首页 > 解决方案 > 想要一个 Excel 2007 公式来执行我的问题

问题描述

我有一个带有前缀的序列号列表,然后是几个数字。所有序列号都是不同长度的字符,因此根据前缀和零的数量,在前缀和数字之间添加不同数量的前导零。(例如 MSC00001、CAT0005640、MCSE0070、M0CSEP0003、MISCR01、MP002)如何从序列号中删除所有前导零,但保留作为实际编号一部分的任何零?

我很想通过使用 MS EXCEL 2007 来创建一个公式,因为我必须在多个工作簿上运行这个公式。

标签: excel-formulaexcel-2007

解决方案


使用A1中的数据,在B1中输入:

=MID(A1,1,FIND("0",A1)-1) & --MID(A1,FIND("0",A1),99)

在此处输入图像描述

笔记:

这个简单的公式对于以下字符串将失败:

QWERTY870

因为没有“前导零”。

编辑#1:

这是一个更通用的公式:

=IF(MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2 & "0123456789")),1)<>"0",A2,MID(A2,1,FIND("0",A2)-1) & --MID(A2,FIND("0",A2),99))

在此处输入图像描述


推荐阅读