Excel中如何选出满足三个条件的单元格?

比如一个列表中有班级、姓名、成绩、日期,那么我如何选出在某天某一班级中某人的考试成绩呢?然后我要将所有日期如上的特定成绩统计在一列中要如何操作?

例子如图,日期还在往下延伸,我要怎么选出比如A班张三一段时间内的所有成绩

给你做了一个类似软件的筛选功能,你所需的操作只是从下拉菜单中选择你要查寻的条件即可,效果如图一。

图一

具体实现过程如下:

1、界面设计:

(1)、F:O列设为居中对齐,F列和L列设为日期型。

(2)、输入文字:F1为“开始日期”,F2为“结束日期”,H1为“班级”,H2为“姓名”,F3为“日期”,G3为“班级”,H3为“姓名”,I3为“成绩”,L1为“班级”,L2为“姓名”。

(3)、在4个单元格上输入公式,全是数组公式,输完按下CTRL+SHIFT+ENTER生成数组公式。

F4公式:=IFERROR(INDEX(A:A,SMALL(IF((INDIRECT("A2:A"&COUNTA($A:$A)-1)>=$G$1)*(INDIRECT("A2:A"&COUNTA($A:$A)-1)<=$G$2)*(INDIRECT("B2:B"&COUNTA($A:$A)-1)=$I$1)*(INDIRECT("C2:C"&COUNTA($A:$A)-1)=$I$2),ROW(INDIRECT("A2:A"&COUNTA($A:$A)-1)),""),ROW(A1))),"")

M1公式:=IFERROR(INDEX(INDIRECT("B2:B"&COUNTA($B:$B)-1),MATCH(,COUNTIF($L1:L1,INDIRECT("B2:B"&COUNTA($B:$B)-1)),)),"")

M2公式:=IFERROR(INDEX(INDIRECT("C2:C"&COUNTA($C:$C)-1),MATCH(,(INDIRECT("B2:B"&COUNTA($B:$B)-1)<>M$1)+COUNTIF(M$1:M1,INDIRECT("C2:C"&COUNTA($C:$C)-1)),))&"","")

L3公式:=IFERROR(INDEX(INDIRECT("A2:A"&COUNTA(A:A)-1),MATCH(,COUNTIF(L$2:L2,INDIRECT("A2:A"&COUNTA(A:A)-1)),)),"")

(4)、F4公式右拖复制至I4,再下拖复制一定行数;M1公式右拖复制一定行数;M2公式右拖,再下拖;L3公式,下拖。

效果如图二:

图二

2、设计下拉菜单

选择G1,点菜单上的“数据”中的“数据有效性”,选序列,来源输入:=OFFSET(L3,,,COUNT(L:L),),设置界面如图三:

图三

继续设置G2,I1,I2这三格的数据有效性,来源内容设置如下:

G2:=OFFSET(L3,,,COUNT(L:L),)

I1:=OFFSET($M$1,,,1,14-COUNTBLANK(M1:Z1))

I2:=OFFSET(L2,,MATCH(I1,M1:Z1,),COUNTA($A:$A)-COUNTBLANK(OFFSET(INDIRECT("M2:M"&COUNTA($A:$A)),,MATCH($I$1,M1:Z1,)-1))-1,)

3、至此,所有设计完成,此时你可以任意添加A:D列的数据,查寻界面会自动更新,你想更改查寻的日期,姓名或班级等,从下拉菜单选取即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-01-04
你好,你可以用筛选的方式选择满足三个条件的单元格,也可以用排序的方式选出满足三个条件的单元格,这两种方法都是可以的。
第2个回答  2022-01-04
如果要选出某人的成绩,则可以直接用筛选完成。如果根据具体条件进行汇总,公式的话,可以使用sumifs函数,数据规范的话也可以使用数据透视表。
具体的要按你的实际表格确定方法。追问

在问题中更新了具体例子和图片,可以帮忙解答一下吗,谢谢

第3个回答  2022-01-04
直接control就可以。
第4个回答  2022-01-04
筛选一下就可以了。。。
相似回答