excel函数解析
发布网友
发布时间:2022-04-30 14:28
我来回答
共5个回答
热心网友
时间:2022-06-23 03:33
首先从IF开始这个函数代表如果工作表A2到A5这四个单元分别与A2进行比较,如果等于A2,则返回ROW($2:$5),这个函数代表A2到A5这四个单元格的行的号码(即最左排的数字),也就是说如果A2=A2,则返回A2的行号,如果A3=A2,则返回A3的行号,以此类推。如果不等于A2,则得出的值是4^8,也就是4的8次方。(这个函数每一个单元格都要与A2进行比较,等于A2返回行号,不等于返回4的8次方。
接着就是SMALL,这个函数的第一个参数是IF函数所返回的值,IF函数得到一个内存数组,里面包含4个元素,SMALL的第二个参数是COLUMN()-1,这函数代表你所在列的号码减去1,列号看最上排的A,B,C,D(也是数值),SMALL这个函数所求的就第几小的数,例如(=SMALL({1,2,3,4},1)所得的值是1,因为1是第一小的数,而您所列的函数也是这个道理,它求的是IF所得出的四个元素中第COLUMN()-1小的元素。最后是INDEX函数,它是一个定位函数,例如在A1:B3区域(左上角的单元格与右下角的单元格地址中间加一个“:”即为一个区域)这个区域有三行二列,如果想要第一行第二列的单元,那所得的单元格为B1,如果是第二行第一列则为A2,也就是说通过横纵做表来定位。您说的函数所求的区域是$B$2:$B$5($代表绝对引用,具体内容百度百科可以查到),而SMALL(IF(Sheet1!$A$2:$A$5=$A2,ROW($2:$5),4^8),COLUMN()-1)所求出来的值代表行号,如果SMALL(IF(Sheet1!$A$2:$A$5=$A2,ROW($2:$5),4^8),COLUMN()-1)求出来的值是1,则所得的单元格是B2,如果是2则返回B3,所得出的值超过4,则得到#REF!,也可能返回#NUM!,(如果SMALL出现问题)你所输入的函数有问题,最后一右小括号应该去掉。&""连接空字符。
热心网友
时间:2022-06-23 03:33
这个是下拉带右拉的公式,
目的是将对应的(Sheet1!$A$2:$A$5等于A2)的(Sheet1!$B$2:$B$5)的值从小到大排列在A2的后面
---------
Sheet1!$A$2:$A$5=$A2
以当前表的 A2 为查找内容,在 sheet1 表的 A2:A5 内查找
IF(Sheet1!$A$2:$A$5=$A2,ROW($2:$5),4^8)
如果等于A2,则返回行数,否则返回4的8次方(一个很大的数字)
SMALL(IF(……),COLUMN()-1)
返回对应当前列数的倒数第几的行数
INDEX(Sheet1!$B$2:$B$5,SMALL……)
依前面返回的行数取出对应的B列的值
热心网友
时间:2022-06-23 03:34
这个是数组公式,目的是要从sheet1的B2至B5提取内容,而提取的条件是B列中所对应的A2至A5与A2相同的单元格。中间的4^8和后面的""(这是空格符号)的作用是当提取完全要求的内容后,再没有可提取是就什么内容都不显示,如果不加这条件,到没有内容可提取时就会有出错提示的。
热心网友
时间:2022-06-23 03:34
这是数组公式
分别取出B2到B5按A2到A5的大小
热心网友
时间:2022-06-23 03:35
此函数通过向右拖,可以实现一查多的功能,
在区域a2:a5中,查找等于a2的行数,不等于返回4^8
small(,column ()-1)右拖实现行数递增功能,返回升序排列的等于a2的行数
index()依据上步返回的行数,查找对应的B列值,右拖实现a2对应的所有b2:b5中查找;