=SUMPRODUCT((Sheet1!$A$1:$A$6=A2)*(Sheet1!$B$1:$B$6="已购买"))
4^8表示4的8次方,ROW(1:1)表示返回第一行的行号,一般用于公式向下拖动,可依次返回1,2,3等,&""是连接一个空文本,一般目的是把数字格式转成文本格式
但这个公式我还真理解不了
IF(SHEET1!$B$2:$B$2000=SHEET2!$G$1,ROW($1:$16),4^8)
这种形式一般都是用于筛选符合条件的值,但用法一般是ROW($1:$16)改为ROW($B$2:$B$2000),或直接ROW($B$1:$B$1999)
即符合条件的返回行号,不符合条件的返回4^8=65536,这个数只要比你的前面ROW($B$1:$B$1999)这个部分的最大值大就可以了,这里只用了1:16,则只能在B2:B17的范围的符合条件才有返回值,后面的根本没用
再用small对这个返回数组求第ROW(1:1)个最小值,最后用INDEX定位,实现筛选出符合条件值的目的,不知道你的原数据是什么样子,最后需要用&""转成文本,不过照我认为,这个没用
如数据区为
1,2,3,3,5,2,3,7,8,9
现在用IF(SHEET1!$B$1:$B$10=3,ROW($1:$10),20)
这种类型公式,返回值为
20,20,3,4,20,20,7,20,20,20
再对这列数求第几个最小值,前3个最小值分别为3,4,7
但你这个公式中,公式是IF(SHEET1!$B$1:$B$10=3,ROW($1:$5),20)
这样的,返回值为
20,20,3,4,20,20,#N/A,20,20,20
4^8 就是03版excel 的总行数,row(1:1)相对引用第一行 &""是 避免出现数值格式被默认保留两位小数,强制文本形式显示
=SUM((Sheet1!$A$1:$A$6=$A2)*(Sheet1!$B$1:$B$6=LEFT(B$1,3)))
数组公式,三键结束,效果与sumproduct函数相同。若是在03版中,countifs函数将不可用。
b1公式: =COUNTIFS(Sheet1!$A$1:$A$6,$A2,Sheet1!$B$1:$B$6,LEFT(Sheet1!B$8,3))
C1公式: =COUNTIFS(Sheet1!$A$1:$A$6,$A2,Sheet1!$B$1:$B$6,"<>"&LEFT(Sheet1!B$8,3))
第二个问题我也要学习