|
本帖最后由 wangjguo44 于 2017-5-23 08:15 编辑
D列非得手工输入吗?
若不管原始数据表到底有没有学号,仍是输入不存在的学号,那么用你上面的公式(稍稍改动一下)也行=IF(ISNA(VLOOKUP($D5,INDIRECT("'"&$P$1&"'!A:S"),MATCH(统计表!E$3,INDIRECT("'"&$P$1&"'!A2:S2"),0),0)),0,VLOOKUP($D5,INDIRECT("'"&$P$1&"'!A:S"),MATCH(统计表!E$3,INDIRECT("'"&$P$1&"'!A2:S2"),0),0))
但是这并不能解决“一下子看出班上缺考的学生,如果不输入不好看出来”的问题,因为原始数据表并不存在这个学号,整行都是0,当然也无法返回是谁,能从中知道谁缺考吗?
还是建议从源头上剔除,即D列用公式。
顺便说一下,INDIRECT("'"&$P$1&"'!A:S")、INDIRECT("'"&$P$1&"'!A2:S2"),没必要在A:S用绝对引用,写成INDIRECT("'"&$P$1&"'!$A:$S")、INDIRECT("'"&$P$1&"'!$A$2:$S$2"),因为作为INDIRECT()的参数,这里是文本格式,右拖下拉都不会改变引用了!
|
|