一个学生问了这样一个问题,如何从B列中,将费用名称和项目名称提取出来,分两列保存?

我们的任务是:从B列中,将费用名称和项目名称分别提取出来,那么就要分析B列中费用名称和项目名称的特征是什么了。
仔细观察B列数据特征,凡是带着“费”字的,就是费用名称,否则就是项目名称。
那么,如何判断某个单元格有“费”字呢?我们知道一个函数就可以解决这样的问题:FIND函数。
FIND函数就是从一个字符串中,查找指定字符出现的位置,如果有指定的字符,函数的结果就是一个表示出现位置的序号,例如,下面公式的结果就是3,因为在字符串“保险费用”中,字符“费”出现在第3个:
=FIND("费","保险费用")
这样,不管指定字符出现在什么位置,只要是存在,结果就是一个数字,那么就可以使用ISNUMBER函数来判断FIND函数结果是否为数字,如果是数字,就表示是费用名称。
提取费用名称还有一个问题,如果B列含有“费”字,就是费用名称,那么不含有“费”字呢?如何在该行单元格输入费用名称?我们已经在上一行单元格判断并提取出了费用名称,那么下一行单元格填充为上一行单元格已经提取出的费用名称,就可以了。
因此,单元格F2提取费用名称的公式就可以做出来了,如下所示:
=IF(ISNUMBER(FIND("费",B2)),B2,F1)
提取项目名称的公式,是判断B列单元格是否没有“费”字。那么,何谓“没有”?使用FIND函数查找指定字符,如果存在就是一个数字,如果不存在,就是一个错误值,那么只要判断是不是错误值就可以了,此时,使用ISERROR函数来判断FIND函数的结果是否为错误值。因此,单元格G2提取项目名称的公式如下:
=IF(ISERROR(FIND("费",B2)),B2,"")
这两列的公式都并不复杂,逻辑也是很简单的,就考察你是不是彻底了解了表格结构、数据特征,找出了解决问题的逻辑思路。
我经常说,学习应用Excel的核心,并不是函数语法,套用公式,而是解决问题的逻辑思维,而不同表格的解决问题思路是不一样的,即使是同一个表格,解决问题的出发点不一样,使用的函数也是不一样的。本例就是一个逻辑思维训练。
==============================
下面插入一个广告,感兴趣的往下看,不感兴趣的就此止步。
谢谢你的理解!

哈罗!
全套Excel学习视频,亲自录制,年前超大红包从天而降!
从即日起到2024年2月10日春节前,千聊视频会员大优惠,原价1588元/年,现价399元/年,就能不限次数观看录播的10门课程,上百小时的全套Excel学习视频,仅10天优惠,需要的同学抓紧了。
付款方式:微信与我单独联系。微信号 hanxiaoliang2013
超级大优惠还剩最后6天!
—— 韩小良
2024年2月4日

