序号 |
分类 |
函数名称及链接 |
语法 |
作用和功能 |
应用及备注 |
1 |
日
期
与
时
间
函
数 |
DATE |
date(year,month,day) |
返回特定的日期序列号 |
2 |
EDATE |
edate(start_date,months) |
按指定日期上下推月份并回到相应日期 |
3 |
DATEVALUE |
datevalue(date_text) |
将各种日期格式改为序列号便于计算 |
4 |
YEAR |
year(serial_number) |
返回日期序列号或日期格式中的年份 |
5 |
MONTH |
month(serial_number) |
返回日期序列号或日期格式中的月份 |
6 |
DAY |
day(serial_number) |
返回日期序列号或日期格式中的天数 |
7 |
HOUR |
hour(serial_number) |
返回日期序列号或日期格式中的小时数 |
8 |
MINUTE |
minute(serial_number) |
返回日期序列号或日期格式中的分钟数 |
9 |
TODAY |
today() |
返回当前日期序列号 |
易失性函数 |
10 |
NOW |
now() |
返回当前日期序列号并含当前时间 |
易失性函数 |
11 |
WORKDAY |
workday(start_day,days,holidays) |
一段时间内工作日计算函数 |
不含法定及特殊假日 |
12 |
NETWORKDAYS |
networkdays(start_dayte,end_date,holidays) |
计算两个日期之前的有效工作日天数,不包括周末和专门指定假日 |
13 |
WEEKDAY |
weekday(serial_number,return_type) |
返回某日期序列号代表的是星期数 |
14 |
DATEDIF |
dateif(start_date,end_date,unit) |
与Lotus兼容而设,用于计算两个日期之间的天数、月数和年数 |
年龄和工龄 |
15 |
时间函数应用实例 |
16 |
查
找
函
数 |
OFFSET |
offset(reference,rows,cols,height,width) |
以指定的引用为参照系,通过给定偏移量得到新引用 |
对记录进行排序、生成工资条、建立动态引用区 |
17 |
MATCH |
match(lookup_value,lookup_array,match_type) |
返回指定方式下的与指定数值匹配的数组中元素的相应位置 |
特性是返回区域内每个记录第一次出现的位置 |
18 |
INDIRECT |
indirect(ref_text,al) |
返回由文本字符串指定的引用,并将数值计算 |
19 |
CHOOSE |
choose(index_num,valuel,value2,…) |
按照给定的索引号,返回列表中的数值 |
常用于学生成绩等级转换、个税统计、返回区域查询 |
20 |
ADDRESS |
address(row_num,column_num,abs_num,al,sheet_text) |
按给定的行号和列标来建立文本类型的单元格地址,行号和列标可指定,也可由公计算产生,文本类型的地址也可以计算; |
第四个参数sheet_text如果是false,则表示R1C1样式 |
21 |
COLUMN |
column(refernce) |
返回单元格所在列的列标 |
22 |
COLUMNS |
columns(refernce) |
返回数组或引用的列数 |
23 |
HYPERLINK |
hyperlink(link_location,friendly_name) |
快捷的跳转方式以打开网络及其它工作簿 |
24 |
LOOKUP向量 |
lookup(lookup_value,lookup_vector,result_vector) |
在单行区域或单列区域中查打数值,然后返第2个单行区域或单列区域中相同位置的数值 |
当查找区域无时,自动在取数区域取最大值 |
25 |
LOOKUP数组 |
lookup(lookup_value,array) |
在数组的第一行或列中查找指定的数值,然后返回最后一行或列中相同位置的数值 |
26 |
LOOKUP应用1 |
|
27 |
HLOOKUP |
hlookup(lookup_value,table_array,row_index_num,range_lookup) |
在表格或数值数组的首行查找指定数值,并由此返回表格或数组当前列中指定行处的数值 |
28 |
VLOOKUP |
vlookup(lookup_value,table_array,col_index_num,range_looup) |
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定的列处的数值 |
模糊查询、重复记录查询、多条件查询等,效果非常好 |
29 |
VLOOKUP应用1 |
30 |
VLOOKUP应用实例2 |
31 |
VLOOKUP应用3 |
32 |
VLOOKUP处理查找错误 |
33 |
VLOOKUP模块 |
34 |
数组公式构造原理 |
35 |
INDEX__数组形式 |
index(array,row_num,column_num) |
返回列表或数组中的元素值,此元素由行序号和列序号的索引值给定 |
36 |
INDEX__引用形式 |
index(reference,row_num,column_num,area_num) |
返回指定的行与列交叉处的单元格引用,如果引用由不连续区域组成,可选择其中之一区域 |
37 |
数
学
函
数 |
SUM |
sum(number1,number2,…) |
返回该区域内所有数据之和 |
文本为0,逻辑值为1 |
38 |
SUMIF |
sumif(number1,number2,…) |
按指定条件对区域内所数据之和 |
39 |
SUMPRODUCT |
sumproduct(array1,array2,…) |
在给定的几给数组中,将数组间对应的元素相乘,并返回乘积之和 |
40 |
SUBTOTAL |
subtotal(function_num,ref1,ref2…) |
在数据库分类汇总后再进行相关汇总工作 |
41 |
ROUND |
round(number,num_digits) |
对数值进行四舍五入 |
42 |
ROUNDUP |
roundup(number,num_digits) |
对数值按指定位数进行向上取整 |
43 |
ROUNDDOWN |
rounddown(number,num_digits) |
对数值按指定位数进行向下取整 |
44 |
ABS |
abs(number) |
对单元格数值进行绝对值处理 |
45 |
MOD |
mod(number,divisor) |
求余函数 |
正负数相除结果不同 |
46 |
RAND |
rand() |
产生随机函数 |
47 |
文
本
函
数 |
ASC |
asc(text) |
将双字节字符转换为单字节字符 |
即将全角字符改为半角字符 |
48 |
LEN_____LENB |
len(text)
lenb(text) |
测试字符串的长度 |
lenb测试双字节字符 |
49 |
LEFT____LEFTB |
left(text,num_chars)
leftb(text,num_bytes) |
从字符串左边第一个字符按参数定义提取字符LEFTB则提取双字节字符 |
50 |
RIGHT__RIGHTB |
right(text,num_chars)
right(text,num_bytes) |
从字符串右边第一个字符按参数定义提取字符RIGHTB则提取双字节字符 |
51 |
MID_____MIDB |
mid(text,start_num,num_chars) |
在单元格中按指定位置按参数定义提取字符 |
52 |
CONCATENATE |
concatente(text1,text2…) |
用于连接字符串,其功能与&符号相同 |
53 |
REPLACE_____REPLACEB |
replace(old_text,start_num,num_shars,new_text) |
使其它文本字符串并根据所指定的字符数替换某文本字符串中的部份文本 |
B则为更换的字节数 |
54 |
SUBSTITUTE |
substitute(text,old_text,new_text,instance_num) |
替换字符串中的字符的,可指定字符替换,也可批量执行替换 |
55 |
TEXT |
text(value,format_text) |
将数值转换为按指定数字格式表示文本 |
56 |
文本典型实例1 |
57 |
文本典型实例2 |
58 |
文本典型实例3 |
59 |
逻
辑
函
数 |
AND |
and(logical1,logical2,…) |
所有参数的逻辑值为真则TRUE,只要一个参数假则返回FALSE |
在公式中经常使用*来表示and,效果一样 |
60 |
OR |
or(logical1,logical2,…) |
所有参数只要有一个参数为TRUE,即返回TRUE,任何一个参数的逻辑值为FALSE,即返回FALSE |
在公式中经常使用+来表示or |
61 |
NOT |
not(logical) |
对参数值求反,当确保一个值不等于某一特定值时使用 |
62 |
IF |
if(logical_test,value_if_true,value_if_false) |
执行真假值判断,根据逻辑计算的真假值,返回不同结果 |
对数值和公式进行条件检测 |
63 |
逻辑值与运算符 |
64 |
AND与OR和逻辑符区别 |
65 |
突破函数参数限制 |
66 |
统
计
函
数 |
AVERAGE |
average(number1,number2,…) |
统计所有参数的算术平均值,AVREAGEA则剔除非数值的参数 |
全部参数参与计数,逻辑值文本值为零 |
67 |
COUNT |
count(value1,value2…) |
返回包含数字\参数列表中数字的单元格的个数 |
只取含数值的单元格个数 |
68 |
COUNTA |
counta(value1,value2…) |
返回参数列表中非空值的单元格个数,忽略各种数据的格式,全部统计并计个数 |
统计区域中包含数据的单元格个数 |
69 |
COUNTBLANK |
countbland(range) |
返回参数列表中空值的单元格个数,忽略单元格中各种数据的格式 |
本公式与COUNTA相反,注意:=""的假空单元格也被视为空 |
70 |
COUNTIF |
countif(range,criteria) |
计算满足条件的单元格个数 |
71 |
FREQUENCY |
frequency(data_array,bins_array) |
以一列垂直数组返回某个区域中数据的频率分布 |
此函数必须用数组公式输入 |
72 |
LARGE |
large(array,k) |
返回数据集中第K个最大值 |
非常有用 |
73 |
SMALL |
small(array,k) |
返回数据集中第K个最小值 |
74 |
MODE |
mode(number1,number2…) |
测量函数返回左某一数组或数据区域中出现频率最多的数值 |
75 |
MAX |
max(number1,number2…) |
返回一个区域中数值最大的值 |
76 |
MIN |
min(number1,number2…) |
返回一个区域中数值最小的值 |
77 |
TRIMMEAN |
trimmean(array,percent) |
先将数据集中按比例去掉最大值和最小值之后返回平均值 |
78 |
RANK |
rank(number,ref,order) |
返回一个数字在列表中的排位,按其大小与列表中其它值的比值 |
默认0,表示从最大开始排 |
79 |
统计典型实例1 |
80 |
统计典型实例2 |
81 |
统计典型实例3 |
82 |
工
程
函
数 |
CELL |
cell(info_type,reference) |
返回某一个引用区域的左上角单元格的格式位置或内容等信息 |
公式中可设不同格式,相当于单元格格式设置 |
83 |
ERROR.TYPE |
error.type(error_val) |
返回对应于EXCEL中某一错误值的数字,或者没有错误返回#N/A,主要用于查错有追查出错原因 |
84 |
INFO |
info(type_text) |
便于用户了解系统运行环境以及工作表的运行状态memavail显示内存空间memused数据占用空间totmem全部内存空间 |
85 |
IS_类函数 |
iserror(value)
isblank(value)
iserr(value)
islogical(value)
istext(value)
isna(value)
isnontext(value)
isnumber(value)
isref(value) |
值为任意错误值;
值为空白单元格;
值为除#N/A之外的任意错误值;
值为逻辑值;
值为文本;
值为错误值,即不存在之值;
值为不是文本的任意项(此函数的值为空);
值为数字;
值为引用; |