这一篇是扫盲用的,主要讲解了几个最常用的函数IF、AND、OR、COUNT、COUNTA、COUNTIF和SUM, 会用的同学就可以跳过了。以后会逐渐讲解其他函数的应用。
1. 逻辑判断
逻辑判断所用的函数不多,IF、AND、OR三个就足以应付日常工作了。
IF函数可以用来转换值,如将1和0转换为OK和NG:
=IF(A1=1,"OK","NG")
与AND和OR组合使用可以判断多个条件,如判断是否是周末:
=IF(OR(WEEKDAY(A1)=0, WEEKDAY(A1)=6),"周末","工作日")
2. 统计数量的COUNT、COUNTA、COUNTIF
COUNT和COUNTA统计对象不同,COUNTA统计所有非空单元格的数量(包括出错的单元格), COUNT仅统计看起来像数字的单元格。
COUNTIF则可以添加搜索条件,这个特性可以用来做统计。如
=COUNTIF(F:F,"OK") 统计F列中OK的个数
=COUNTIF(F:F,"NG") 统计F列中NG的个数
3. 求和的SUM
这个函数简单得不能再简单了:
=SUM(A10:A254) 对A10~A254的范围求和
没了。别看Excel函数成百上千,常用的就这几个。充其量再加上其他几个信息函数, 如求日期的DATE、YEAR、MONTH、DAY、NOW、WEEKDAY,数值计算的FLOOR、INT、MOD、ROUND, 字符串操作的CHAR、LEFT、RIGHT、MID(具体使用方法参见帮助), 几乎可以应付全部的日常应用。
下面举几个例子来说明这些函数的应用。
1. 测试用例。一般测试用例的表格会是这样:
A | B | C | D | E | F | |
1 | 编号 | 类别 | 测试内容 | 确认内容 | 结果 | 测试时间 |
2 | 1 | 界面 | 单击新建按钮 | 建立新文档 | OK | 8/27 |
3 | 2 | 界面 | 单击保存按钮 | 保存文档 | OK | 8/27 |
3 | 2 | 界面 | 单击另存为钮 | 打开保存对话框 | NG | 8/27 |
那么统计OK和NG的个数就分别用
=COUNTIF(E:E,"OK") 统计OK个数
=COUNTIF(E:E,"NG") 统计NG个数
如果测试用例分成好几个工作表,那么可以在最前面加一个统计用的工作表,并用SUM求出所有用例的状况。
2. 日历。这个日历是用在项目进度管理上的,格式类似于下面这种横向的日历。
8月 | ||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
三 | 四 | 五 | 六 | 日 | 一 | 二 | 三 | 四 | 五 | 六 |
可按以下格式输入:
A | B | C | D | E | F | G | |
1 | 8/1 | =A1+1 | =B1+1 | ... | ... | ... | ... |
2 | =MONTH(A1) | =IF(MONTH(B1)=MONTH(A1), "",MONTH(B1) | ... | ... | ... | ... | ... |
3 | =DAY(A1) | =DAY(B1) | ... | ... | ... | ... | ... |
4 | =MID("日一二三四五六",WEEKDAY(A1),1) | ... | ... | ... | ... | ... | ... |
然后隐藏掉第一行即可。
2008-2-14更新 回答读者妮妮的问题,讲解一下VLOOKUP函数的用法。
VLOOKUP用于查找信息,更确切地说,它用来“翻译”信息。比如员工名单上有员工号和姓名的对应关系, 那么给出一个员工号的列表,就可以通过VLOOKUP将其“翻译”成姓名列表。先来看个例子:
A | B | C | D | |
1 | 排行 | 姓名 | 排行 | 姓名 |
2 | 1 | 柯镇恶 | 3 | =VLOOKUP(C2,$A$2:$B$8,2) |
3 | 2 | 朱聪 | 3 | =VLOOKUP(C3,$A$2:$B$8,2) |
4 | 3 | 韩宝驹 | 4 | =VLOOKUP(C4,$A$2:$B$8,2) |
5 | 4 | 南希仁 | 7 | =VLOOKUP(C5,$A$2:$B$8,2) |
6 | 5 | 张阿生 | ||
7 | 6 | 全金发 | ||
8 | 7 | 韩小莹 |
这个表的$A$2:$B$8区域为参考数据(原始对应关系),C列为需要翻译的原始数据,D列为翻译结果。 具体的结果大家可以实际放到Excel里面执行一下。
VLOOKUP有三个参数,分别如下:
VLOOKUP(原始数据, 参考数据, 搜索结果在参考数据中的列位置)
Excel会在参考数据的第一列中搜索原始数据(上例中,在$A$2:$B$8的第一列即$A$2:$A$8中搜索原始数据C2), 找到后,返回第三个参数——列位置所对应的数据(上例中,在$A$2:$A$8中找到与C2相等的3之后, 返回3所对应的第2列——韩宝驹,这个“第2列”即为第三个参数)。
那么找不到时怎么办?其实VLOOKUP还有第四个参数,值为TRUE或FALSE,默认为TRUE。 取值TRUE时,VLOOKUP会返回不大于原始数据的最小值所对应的结果,例如=VLOOKUP(2.5,$A$2:$B$8,2,TRUE)会返回“朱聪” (朱聪的“2”为不大于2.5的最大值)。 取值为FALSE时,VLOOKUP会返回#N/A。
通常在处理字符串时,大多情况下希望在找不到时返回错误或空串。 这时可以为VLOOKUP加上第四个参数FALSE,再用ISNA函数将#N/A转换为空串。如:
[D2]=VLOOKUP(C2,$A$2:$B$8,2,FALSE)
[D3]=IF(ISNA(D2),"",D2)