销售必须知道的80个Excel函数
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

案例25 从混合字符串中提取金额(MID)

⊙ 源文件:CDROM\04\4.6\案例25.xls

现金支出表中包括汉字、字母和数字,数字位置和长度不固定,现需提取数字部分。

打开光盘中的数据文件,在单元格C2中输入以下公式:

=LOOKUP(D9+307,--MID(B2,MIN(FIND({1;2;3;4;5;6;7;8;9},B2&123456789)),ROW($1:$99)))

按下【Enter】键后,公式将返回混合字符串中数字部分。双击单元格填充柄将公式向下填充,结果如图4-12所示。

图4-12 从混合字符中提取金额

公式说明

本例公式需要从混合字符串中提取数字,而数字是集中在一起的。利用这个特点可以得到以下思路:从字符串的第一个数字开始的位置提取字符串,长度分别是1位、2位、3位……99位,然后从中提取最大值即可。

公式中FIND函数用于计算数字1~9的每个数字在原字符串中的位置,然后利用MIN函数取最小值,即最左边的数字的位置。MID函数从此位置开始提取字符串,分别提取1位、2位、3位……99位,最后利用LOOKUP函数从中查找最大值。

案例提示

1.公式中的 D9+307 也可以替换成其他数值,只要数值大于提取的任何一个数据就行。例如10^16,即10的16次方,这个数据已经大于Excel的计算精度范围的最大值,所以用它作为LOOKUP函数的第一参数已经足以从第二参数中提取最大值。公式可以修改为:

=LOOKUP(10^16,--MID(B2,MIN(FIND(ROW($1:$9),B2&123456789) ), ROW($1:$99)))