=IF(K3="","",INDEX($I:$I,SMALL(IF($H$3:$H$999=$
发布网友
发布时间:2024-09-17 09:34
我来回答
共1个回答
热心网友
时间:2024-09-21 01:08
1、如果K3单元格等于空格,公式所在单元格就等于空格,否则等于后面的公式
2、ROW($3:$999) 产生{3;4;5……;999} 的一个数组
3、4^8 就是4的8次方的意思,等于65536(代表一个很大的数)
4、IF($H$3:$H$999=$K3,ROW($3:$999),4^8)
如果$H$3:$H$999中的数等于$K3的数,就返回ROW($3:$999)(这里是一一对应返回,比如H100的数等于$K3,那就返回100),否则就是4^8
给你打个比方:
假设$H$3:$H$999中H4和H999不等于$K3,其他都等于K3。那返回结果就为:
{3;65536;5;6;7……;997;998;65535} 你应该就懂了。
5、COUNTIF(K$3:K3,K3)
K$3:K3 $是绝对引用,你如果下拉第一个3是不会变的。由于第二个3没有绝对应用(没有就是相对应用的意思),如果下拉就会变成: K$3:K4 K$3:K5 K$3:K6 ……
countif就是统计这个区域中K3的个数。
6、SMALL(IF($H$3:$H$999=$K3,ROW($3:$999),4^8),COUNTIF(K$3:K3,K3))
small就是取第几个最小值的意思。上面if返回的内存数组的结果,countif返回的个数的值。
small就是取if的内存数组中的第countif返回的个数的最小值。比如countif的值为3,small就返回if中的第3个最小值。
7、index($I:$I,small())
$I:$I就是第一行的意思。$2:$2 第二行。$2:$3 第2和第3行的一个区域。
index就是返回第一行中small得到的结果的位置。
比如small得到的结果为5,index就返回第一行第5个位置的值,也就是E1单元格的值。
热心网友
时间:2024-09-21 01:09
1、如果K3单元格等于空格,公式所在单元格就等于空格,否则等于后面的公式
2、ROW($3:$999) 产生{3;4;5……;999} 的一个数组
3、4^8 就是4的8次方的意思,等于65536(代表一个很大的数)
4、IF($H$3:$H$999=$K3,ROW($3:$999),4^8)
如果$H$3:$H$999中的数等于$K3的数,就返回ROW($3:$999)(这里是一一对应返回,比如H100的数等于$K3,那就返回100),否则就是4^8
给你打个比方:
假设$H$3:$H$999中H4和H999不等于$K3,其他都等于K3。那返回结果就为:
{3;65536;5;6;7……;997;998;65535} 你应该就懂了。
5、COUNTIF(K$3:K3,K3)
K$3:K3 $是绝对引用,你如果下拉第一个3是不会变的。由于第二个3没有绝对应用(没有就是相对应用的意思),如果下拉就会变成: K$3:K4 K$3:K5 K$3:K6 ……
countif就是统计这个区域中K3的个数。
6、SMALL(IF($H$3:$H$999=$K3,ROW($3:$999),4^8),COUNTIF(K$3:K3,K3))
small就是取第几个最小值的意思。上面if返回的内存数组的结果,countif返回的个数的值。
small就是取if的内存数组中的第countif返回的个数的最小值。比如countif的值为3,small就返回if中的第3个最小值。
7、index($I:$I,small())
$I:$I就是第一行的意思。$2:$2 第二行。$2:$3 第2和第3行的一个区域。
index就是返回第一行中small得到的结果的位置。
比如small得到的结果为5,index就返回第一行第5个位置的值,也就是E1单元格的值。