二、用函数实现筛选
题目:如有一张职工名册表,
A2:F501,共 6 列 500 行 3000 个单元格。表头 A1 为姓名代码(1 至
500)、B1 为姓名、C1 为性别、D1 为年龄、E1 为学历、F1 职称。现要求对职工的性别、年龄、学历、职称进行
交错筛选,例如要求在同一张表上筛选出
1、女的年龄在 22 岁到 45 岁,男的年龄在 25 岁到 50 岁,2、
女博士,
3、男博士后。
方法:第一步在
G2
”
单元格输入公式
=IF(OR(AND(C2="女",
D2>=22,D2<=45),AND(C2="男",
D2>=25,D2<=50)),ROW(A1),0)“,在 H2
”
单元格输入公式
=IF(AND(C2="女",E2="博
士
"),
ROW(B1),0)“,在 I2
”
单元格输入公式
=IF(AND(C2="男",E2="博士后"),ROW(B1),0)“。在
J2 单元格输入公式
“=IF(K$2=1,LARGE(G:G,ROW(A1)),IF(K$2=2,LARGE(H:H,ROW(A1)),
IF(K$2=3,LARGE(I:I,ROW(A1)),0)))”然后用上述提到的方法向下拖放。G、H、I 列的公式的含
义就是凡符合筛选条件的行记录下行号否则为零,
J 列的公式的含义根据 K2 的数值选择 G、H、I 中的一列
进行排序并把不合条件的行除去。
第二步在
K1
”
”
单元格输文字 筛选选择 ,
A1 到 F1 表头复制到 L1 到 Q1,在 L2 单元格输入
“
公式
=IF($J2=0,0,INDEX($A$2:$F$501,$J2,COLUMN(A$1)))”,然后向右拖放到 Q2,
再向下拖放。
INDEX 函数的含义上文已说明。
第三步在
P1 单元格输入 1 或 2 或 3 便可实现上述三种筛选。
在前面,我们介绍了,利用
INT 函数来构造四舍五入函数的方法,但是,有时候我们会遇到更多小数位
的四舍五入,用
INT 函数构造就会有些吃力了,Excel 的 Round 函数可以帮助我们。Round 函数的作用是
返回某个数字按指定位数取整后的数字。语法为
“ROUND(number,num_digits)”,其中 Number 是需要进行
四舍五入的数字;
Num_digits 为指定的位数,按此位数进行四舍五入,如果 num_digits 大于 0,则四舍五
入到指定的小数位,如果
num_digits 等于 0,则四舍五入到最接近的整数,如果 num_digits 小于 0,则在
小数点左侧进行四舍五入。
举例来说,
=ROUND(2.15, 1) 将 2.15 四舍五入到一个小数位,结果为 2.2
=ROUND(2.149, 1) 将 2.149 四舍五入到一个小数位结果为 2.1
=ROUND(-1.475, 2) 将 -1.475 四舍五入到两小数位结果为-1.48)
=ROUND(21.5, -1) 将 21.5 四舍五入到小数点左侧一位结果为 20
当我们需要产生一些随机数,如单位的抽奖,购买体育彩票前的选号等,我们可以利用
Excel 中的 RAND
函数来产生这些随机数。
RAND 函数能够返回大于等于 0 小于 1 的均匀分布随机数,每次计算工作表时都
将返回一个新的数值。我们只要将
RAND()与 INT 函数组合起来,就能够产生各种位数的随机数了。
“=INT(RAND()*10)” 产生 0 到 10 之间的任意自然数
“=INT(RAND()*100)” 产生 0 到 100 之间的任意自然数
……
由此,我们只需要在
7(或其他大小)个单元格中分别输入“=INT(RAND()*10)”,这样就能够产生一个 7