还是用昨天同一组示例数据,稍微变一下表现形式:
只不过,今天不用辅助列了,直接用一个公式,剔除指定姓名,写出保留姓名与成绩。 ...
书接上回,开启进阶!
还是用昨天同一组示例数据,稍微变一下表现形式:
只不过,今天不用辅助列了,直接用一个公式,剔除指定姓名,写出保留姓名与成绩。
公式实现
在F2单元格输入公式:
=IFERROR(INDEX(A$2:A$10,SMALL(IF(COUNTIF($D$2:$D$6,$A$2:$A$10),””,ROW($1:$9)),ROW(A1))),””),Ctrl Shift Enter结束公式输入。
公式向下、向右填充,会得到剔除指定姓名以后,保留的姓名及对应成绩。
如图:
公式解析
COUNTIF($D$2:$D$6,$A$2:$A$10)
从D2:D5指定的要剔除的姓名区域,依次查找A1:A9所有姓名,查得到的返回1,查不到的返回0。所以此部分公式返回由1与0组成的数组:
{0;1;1;0;1;1;0;1;0 }
ROW($1:$9)
excel表格怎么计算到期日的?
某服务公司,根据客户续缴费月份数,计算服务到期日。 如下表: 公式实现 在D2单元格输入公式: =DATE(YEAR(B2),MONTH(B2) C2,DAY(B2)),向下填充,即可得到所有的到期日。 如图: 本题目解决的关键是: 每个月的天数不一,不能直接将月份转换成天数与原日期相加,需要将B
返回由1—9组成的数组:
{1;2;3;4;5;6;7;8;9}
IF(COUNTIF($D$2:$D$6,$A$2:$A$10),””,ROW($1:$9))
此部分公式原理用下图解释:
所以,本部分IF函数的返回值是数组:
{1;””;””;4;””;””;7;””;9}
SMALL(IF(COUNTIF($D$2:$D$6,$A$2:$A$10),””,ROW($1:$9)),ROW(A1))
ROW(A1)的返回值是1,所以,此部分是返回数组{1;””;””;4;””;””;7;””;9}的最小值,即1;公式每往下填充一行,ROW(A1)变为ROW(A2),ROW(A3),ROW(A4)……,此部分SMALL公式就会返回数组{1;””;””;4;””;””;7;””;9}的第2、3、4……小的数值,即4,7,9……;
INDEX(A$2:A$10,SMALL(IF(COUNTIF($D$2:$D$6,$A$2:$A$10),””,ROW($1:$9)),ROW(A1)))
公式在F2中,即是返回A2:A10区域中第1位的数据A1;公式往下填充,即返回A2:A10区域中第4、7、9位的数据A4、A7、A9,即得到了剔除指定姓名以后保留的姓名;
IFERROR(INDEX(A$2:A$10,SMALL(IF(COUNTIF($D$2:$D$6,$A$2:$A$10),””,ROW($1:$9)),ROW(A1))),””)
用IFERROR,如果查找到结果就返回值,如果查不到,出现错误,则返回空值。
保留成绩的计算:
因为公式中的A$2:A$10,使用的混合引用,A列没有锁定,所以,向右填充,会自从变为B$2:B$10,也就是保留的B列的成绩。
Excel表格怎么加间隔色
原来我的一位学生,现在做电商数据分析,天天对着大量数据分析,而,商品货号有相似,核对起来很是费劲,一会儿就头昏脑涨。原来她看过一篇文章,就提出一个问题:如果不按奇偶行,而按照货号上间隔色,就更好了,能不能实现呢? 简化数据如下: 是不是数据眼花缭乱? 改成下面的格式: 数据顿时明朗起来了吧?! 实现方