本文预备知识:MID函数,FIND函数
对于函数学习者来说,如何构建嵌套函数来解决具体问题是一个头疼的问题。希望这篇文章对大家理清思路,写出嵌套函数有所帮助。
记得在中学数学解题中,我们经常使用辅助线来解决问题,对于嵌套函数的构建,我们也可以借助类似的辅助单元格来分步骤解决问题。解决问题的思路如下:
判断问题的性质,选择合适的函数,定下大方向
将函数所需的各个部分分解,在不同的单元格中呈现
在目标单元格中,将各个部分组合起来,得到结果
我们来举例说明。下表的A2单元格中有以文本形式呈现的日期,而不是日期格式。我们经常从一些系统中导出交易数据,但导出的日期值结果是文本形式,而不是日期格式,导致我们不能用日期公式来处理这些数据。为了能用日期公式,我们需要先将文本中的数据提取出来,然后再将它们组合成日期格式的函数。(当然,本题也可以通过TEXTTOCOLUMN功能解决,但不在本文讨论范围内。)
这个问题的难点在与如何取数据中天的值。通过暗中观察,我们发现天的值在两个“/"之间。那么我们任务就是从要两个"/"之间提取文本。要做到这点,我们就需要知道两个"/"在数据中的位置。下面我们就分步来实现。
在D4单元格内输入以下公式=FIND("/",A2),结果是2,表示第一个"/"所在文本中的位置是第2个字符
接着在D5单元格输入以下公式=FIND("/",A2,D4+1),结果是5,表示第二个"/"所在位置是第5个字符
我们在E2单元格内构建嵌套函数。注意在构建嵌套函数时,先不要在单元格中输入=,这样Excel只会将输入的值当做文本处理,而不是当做公式,这样能避免在构建过程中报错的麻烦。我们用MID函数来取两个"/“之间的值。MID函数的语法是
MID(要提取字符所在文本, 开始字符的位置, 从开始字符的位置起提取字符的个数),具体用法请参考帮助文档。
具体到我们的例子,这三个要素分别是
要提取字符所在文本=A2
开始字符的位置=FIND("/",A2)+1=2+1=3 ,加1的原因是提取的字符包括开始字符的位置所在字符,取第一个“/”之后的字符),其中FIND("/",A2)可以直接从D4单元格中粘贴过来。
从开始字符的位置起提取字符的个数=FIND("/",A2,D4+1)-FIND("/",A2)-1,原理是我们找到第二个"/"的位置是5,第一个"/"的位置是2,两者相减是3,这个3包括了第二个"/",所以要减去1,将第二个"/"剔除。其中FIND("/",A2,D4+1)可以从D5单元格中直接粘贴过来,不用再手动输入一遍。
将这几个元素填写完整后,我们在E2中的输入值为下图所示,注意没有等号
当公式写完之后,我们再将等号放在最前面,得到结果,如下图。
网友评论