先帮你把截图中贴出公式稍简化下:
=INDEX('8'!G:G,SMALL(IF(ISNUMBER(FIND("插秧",'8'!$E$4:$E$1000)),ROW($4:$1000),4^8),ROW(E11)))&""
ROW($4:$1000)的作用就是产生4到1000的自然数序列,前面加上跨工作表去引用完全没有必要,同样ROW(E11)也一样,得到的结果就是数字11,下拉后得到12。
你需要的公式试试下面的公式(未测试):
=INDEX(E:E,SMALL(IF(ISNUMBER(FIND("-4",D:D))*ISNUMBER(FIND("乘坐",F:F)),ROW(E:E),4^8),ROW(E1)))&""
同时按Ctrl+Shift+Enter三键输入数组公式,下拉到出现空白单元格。
公式中的D:D、E:E和F:F,建议按实际数据区域编写,如数据只到400行:
INDEX(E:E,SMALL(IF(ISNUMBER(FIND("-4",D$3:D$400))*ISNUMBER(FIND("乘坐",F$3:F$400)),ROW($3:$400),4^8),ROW(E1)))&""
问题漏洞多多啊,只能尽可能全部考虑了:
1、 复制A列数据到一个新表格,然后使用 数据==》删除重复项,就获得了人员名单,可以将新的姓名数据复制到 F列(公式以此数据制作)
2、F2假定是第一个名字,可以在 G2输入:
=SUMPRODUCT((A:A=F2)*(C:C=1)*(E:E="2(高难度)")*(D:D))/SUMPRODUCT((A:A=F2)*(C:C=1)*(E:E="2(高难度)")*1)
以上公式中 c:c=1 是假设统计正确的才算(要算错的平均时间就把上面的 C:C=1 换成 C:C=0即可),如果不区分是否正确,可以:
=SUMPRODUCT((A:A=F2)*(E:E="2(高难度)")*(D:D))/SUMPRODUCT((A:A=F2)*(E:E="2(高难度)")*1)
公式中 E:E="2(高难度)" 是统计 高难度的,换成 E:E="1(低难度)"
就可以统计低难度的了,不区分难度可以 :
=SUMPRODUCT((A:A=F2)*(D:D))/SUMPRODUCT((A:A=F2)*1)
输入公式=INDEX(E:E,MATCH(H2&I2,D:D&F:F,))
按ctrl+shift+enter完成
G3
=IF(AND(ISNUMBER(FIND("-4",D3)),ISNUMBER(FIND("-4",F3))),E3,"")
下拉