看起来毫不起眼的ROW函数,居然有这7个隐藏的高效小技巧
小E为同学们准备了100+Excel模板,
获取直接在公种号【秋叶Excel】回复【头条】即可~
函数公式里面有很多不起眼的小技巧。
比如今天要讲的这个 ROW 函数,它的作用很简单,就是返回当前单元格的行号。
要说这个行号有啥意义吗?没啥意义。
但是这个不起眼的 ROW 函数,和不同的函数组合起来使用,可以实现蚂蚁搬大象的效果。
▋自动填充序号
既然是返回行号,那么最基础的用法,就是用来自动返回行号。
在第 1 个单元格中,输入 ROW 函数,再向下填充公式,可以快速填充序号。
▋自动更新的序号
因为公式是实时自动计算的,所以我们删除行之后,序号会实时更新,变成当前单元格的行号,实现自动填充序号。
▋任意位置填充序号
如果你的序号,不是从 A1 单元格开始的,可以在 ROW 函数中引用 A1 单元格。
这样返回的序号就是 A1 单元格的行号,跟公式所在的位置没有关系。
ROW 函数很简单对吧?但是千万不要一叶障目,以为 Excel 函数公式不过如此。
之前我们说过:函数公式的本质 = 函数 + 条件。
在 ROW 函数的基础上,添加一些条件,难度和使用场景就立马展现出来了。
▋条件1:隔行填充序号
比如行号除以 2,然后隔行填充公式,就可以产生隔行填充的序号。
公式如下:
=ROW(A2)/2
如果想要实现 1、3、5、7 等差序号填充,公式就要变成下面的样子。
公式如下:
=1+(ROW(A1)-1)*2
公式中的*2,代表的是等差的步长,如果改成 5,那就会以 5 位等差,生成 1、6、 11、 16 的序号。
▋条件2:INDEX+ROW提取数据
只是生成序号没什么用处,和其他函数组合起来,使用场景一下子就打开了。
其中最常用的就是 INDEX 函数。
在下面的表格中,姓名和手机号想要分成单独的两列,就可以用 INDEX+ROW 快速完成。
公式如下:
=INDEX($B$2:$B$11,1+(ROW(A1)-1)*2)
ROW 函数生成了以 2 位等差的序号,然后 INDEX 函数按照序号,提取对应的数据。
▋条件3:LARGE+ROW数据排序
LARGE 函数的作用,是在数据中找出第 N 个最大的数据。
比如下面的公式,就是返回第 2 个最大的数字。
公式如下:
=LARGE(B2:B6,2)
如果这个「第 N 个」用 ROW 函数来实现的话,就可以用 LARGE 函数快速实现对数据的排序。
公式如下:
=LARGE($B$2:$B$6,ROW(A1))
因为 ROW(A1)向下填充的话,会自动生成 1234 的序号,那么结合 LARGE 函数,就自动提取了 1234 名的数据,实现了排序的效果。
▋条件4:MID+ROW拆分文本
MID 函数的作用,是从文本的指定位置开始,提取指定长度的文本。
比如下面的公式,用来提取第 3 个字符开始,后面的 5 个字符,即:Excel。
如果把第几个开始,改成 ROW 函数,提取长度为 1,就可以快速地把一整段文字,拆分成单个的文字。
公式如下:
=MID($A$2,ROW(A1),1)
这样做有什么用呢?
想象一下,你肯定遇到过,数据明明在,但是 VLOOKUP 返回 NA 的时候吧,这是因为单元格里有不可见字符导致的。
那么这个时候,使用 MID+ROW 函数,就可以把每个字符拆分来,让不见字符立马现原形。
简单的函数公式,就是单个函数的使用。
复杂的函数公式,本质上和计算机编程非常相似,只不过需要使用多个函数公式嵌套,来完成复杂的需求。
但是背后如何把一个复杂的问题,拆解成一个个小的步骤,变成一个可以落地执行的函数、代码,原理上都是一样的。
偷偷告诉你,把 ROW 换成 COLUMN,上面的用法都可以通用,具体有什么神奇效果,快自己去动手试试吧!
大家还想学习什么样的函数公式,赶紧在留言区告诉我吧!
小E为同学们准备了100+Excel模板,
获取直接在公种号【秋叶Excel】回复【头条】即可~
excel中如何使用mid函数
MID函数是Excel中常用的字符串提取函数,它可以从字符串中指定的位置开始从左往右截取指定的字符个数
首先,进入到Excel中后,大家可以自己简单的制作一个素材表格,作为使用MID函数的参考数据
接下来,素材表格的右侧一个单元格内输入mid的函数,可以看到mid函数后方可以有3个输入条件。
第一个是条件的选择单元格,我们这里以选择E3单元格为例子。选中E3单元格
然后系统会自动输入E3,接着我们需要在后面打上”,“符号,来表示进入下一个输入的内容,第二个 star num 是指显示的数字位数。
输入完毕后,继续打上”,“来表示分割,最后需要输入的数字则是显示单元格的位数,如果要全部显示的话,随便输入一个大于单元格内容的数字就可以了。
最后,在mid函数的区域就可以显示出我们需要调整显示的数据了,如果把开始位数调整为2,相对的,显示的内容就会自动做出调整
以上就是excel的mid函数使用方法介绍,操作很简单的,大家按照上面步骤进行操作即可,希望这篇文章能对大家有所帮助!
mid函数不简单,这四个高级用法,你会吗?
Hello,大家好!这次和大家分享mid函数的用法。mid函数用于提取字符,本身的用法非常简单,使用情形也很有限。实际工作中,我们经常需要将mid函数和其他函数组合使用。因此,本文除了介绍mid函数的基础用法,还会进一步讲解mid函数与len函数、find函数的组合用法。
1
基础用法
mid函数从一个字符串的指定位置开始,提取指定数量的字符。
mid函数的语法为MID(text,start_num,num_chars)。mid函数从参数text中提取字符串,start_num表示从哪个位置开始提取字符,num_chars指提取多少个字符。
如下图所示,为mid函数的基础用法示例。
(1)B2单元格的公式“=MID(A2,2,3)”,表示从A2单元格的字符串“hello”的第2个字符(即“e”)开始,一共提取3个字符,得到结果“ell”。
(2)B3单元格从文本“猪猪侠”的第1个字符开始,提取2个字符,得到“猪猪”。
(3)B4单元格从文本“hello 猪猪侠”的第4个字符(即“l\”)开始,提取5个字符,得到结果“lo 猪猪”。需要注意的是,空格也算作一个字符。
(4)B5单元格从文本“hello 猪猪侠”的第4个字符开始,提取100个字符。很显然,从第4个字符开始提取,剩下的字符数量是不够100个字符的。此时mid函数会从第4个字符开始,一直提取到最后一个字符,因此返回结果“lo 猪猪侠”。
需要牢记的是,mid函数(包括其他字符提取函数right函数、left函数)返回的结果是文本。如果mid函数提取的数字需要参与计算,必须将其转化为真正的数值。这一点将会在下文的示例中进一步说明。
2
组合用法
mid函数从指定位置提取指定数量的字符。指定位置、指定数量通常不是直接输入的,而是通过函数计算出来的。
find函数可以返回一个字符(串)在另一个字符串中的位置,len函数可以返回字符串的长度。mid函数经常与find函数、len函数组合使用。
例1:提取分隔符之后的文本
如下图所示,姓名和ID号之间使用“/”分隔,要求提取ID。
想要提取ID,需要知道分隔符“/”在文本中的位置,然后从下一个字符开始,一直提取到最后一个字符。可以使用find函数返回“/”的位置。
以B2单元格的公式为例说明find函数的用法,“=FIND(\”/\”,A2,1)”,表示从A2单元格的文本中查找“/”,公式中的“1”表示从第一个字符开始查找。find函数返回“4”,表示“/”在第4个字符处。
如下图所示,B2单元格的公式为
=MID(A2,FIND(\”/\”,A2,1)+1,20)
mid函数从“/”的下一个字符开始,提取20个字符。由于A列的字符数小于20,因此mid函数可以提取“/”之后的所有字符。
例2:提取两个分隔符之间的文本
如下图所示,姓名、ID、城市之间使用“/”分隔,要求提取ID。
想要使用mid函数提取分隔符“/”之间的数字,关键是找到“/”在文本中第一次、第二次出现的位置。
通过例1,我们知道了如何使用find函数找到分隔符“/”第一次出现的位置。那么如何找到“/”第二次出现的位置呢?
如下图所示,以B2单元格的公式为例,=FIND(\”/\”,A2,FIND(\”/\”,A2,1)+1),表示在A2单元格中找到“/”出现的位置,但不是从第1个字符开始查找,而是从“/”第一次出现位置的下一个字符开始查找。FIND(\”/\”,A2,1)返回“/”第一次出现的位置,Find函数默认从第1个字符开始查找,因此第三个参数“1”可以省略。
知道分隔符“/”两次出现的位置分别在哪里,再使用mid函数提取分隔符之间的数字就比较简单了。如下图所示,B2单元格的公式为:=MID(A2,FIND(\”/\”,A2)+1,FIND(\”/\”,A2,FIND(\”/\”,A2)+1)-FIND(\”/\”,A2)-1)
公式的原理就是:mid(A2,\”/\”第一次出现的位置+1,\”/\”第二次出现的位置-第一次出现的位置-1)
例3:提取数字
如下图所示,姓名和ID之间以“/”分隔,ID全部为数字,ID和描述之间没有分隔符号。那么如何提取数字ID呢?
使用mid函数提取数字,起始位置是“/”的下一个字符,用find函数即可找到起始位置。但是如何找到数字的个数呢?我们可以使用len函数、lenb函数。
如下图所示,len函数可以返回字符数量。A2单元格中有10个字符;A3单元格中有14个字符。
如下图所示,lenb函数可以返回字节数量。一个汉字是两个字节,一个字母或数字是1个字节,“/”也是一个字节。lenb(A2)返回结果“15”,len(A2)返回结果“10”,相差的“5”就是汉字的个数。
如下图所示,B2单元格的公式“=2*LEN(A2)-LENB(A2)-1”返回的就是A2单元格数字的个数。“lenb(A2)-len(A2)”返回汉字的个数,总字符数量len(A2)减去汉字的个数就是(数字+“/”)的个数,再减去1就得到数字的个数。
因此,使用mid函数提取数字的公式为:
=MID(A2,FIND(\”/\”,A2)+1,2*LEN(A2)-LENB(A2)-1)
例4:将提取的数字转化为可以计算的数值
如下图所示,A列是姓名、金额、城市三个信息的混合文本,要求提取金额。
从例2中,我们知道mid+find函数组合可以提取两个分隔符之间的数字。下图中B列的公式表面来看是没有什么问题的。
但是如果对提取的金额求和,SUM函数返回的值却是0。原因是mid返回的结果是文本,对文本求和,结果自然为0。
如果mid函数提取的数字需要进一步计算,需要将其转化为真正的数值。将文本型数值转换为真正的数值有多种方法。在本例中,在mid函数前添加“–”(即两个负号)就可以将结果转化为真正的数值。
如下图所示,B2单元格的公式为:
=–MID(A2,FIND(\”/\”,A2)+1,FIND(\”/\”,A2,FIND(\”/\”,A2)+1)-FIND(\”/\”,A2)-1)
在mid函数提取的结果前添加两个负号,将文本转化为可以计算的数值。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。