在表二的A2单元格中输入
=IF(ROW(1:1)>COUNTA(Sheet1!$C:$C),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$C$2:$C$3000="A",ROW(Sheet1!$2:$3000),4^8),ROW(1:1))))&""
CTRL+SHIFT+回车
向右,然后向下拉。
这里有几个前提,1、你表一原数据不超过我定的3000行,当然你也可改我的定的行数。
2、向下拉,拉到你认为符合条件内容的不可能超过的地方才停,比如你认为最多100行合条件,你就拉到101行才停,不然返回可能不全的。
追问
大神,求问,ROW(1:1)是指的什么意思呢?ROW函数不是返回行号吗?ROW(1:1)不就是1吗?同问ROW(2:3000),这个函数起的什么作用?
追答
ROW(1:1)是返回1,但你要往下拉,它会变成2、3、4……
ROW(2:3000),会返回一组数组,2、3、4、5、6、7、……3000,这组数会和前面的Sheet1!$C$2:$C$3000="A",所产生的真假数组组合,产生一组符合录找条件的数,也就是符合条件的数值所在行号。
SMALL再依次找到合条件的第1个、第2个、……
其实你可以用F9,来看公式产生的结果的,
或用公式求值功能来看和理解公式。
不过在求之前,要将3000这个数减少,不然会报错的。