DB2常用函数实例版
使用说明:函数定义形式result : schema-name.funcation_name(para-list)
其中参数列表形式,<>表示必选参数,[]表示可选参数,|表示任选其一下面的所有实例均在DB2 V95版本测试通过,如果是新版本会加注。
any-builtin-type:Any data type that is not a distinct type structured-type:Any user-defined structured type defined to the database
character-type:Any of the character string types: CHAR, VARCHAR, LONG VARCHAR, CLOB.
datetime-type:Any of the datetime types: DATE, TIME, TIMESTAMP
graphic-type:Any of the double byte character string types: GRAPHIC, VARGRAPHIC, LONGVARGRAPHIC, DBCLOB.
string-type:Any type from character type, graphic-type or BLOB numeric-type:Any of the numeric types: SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE.
函数定义的Schema有sysfun和sysibm
1 字符串函数
ascii 返回字符串首字符的ASCII码值
integer : sysfun.ascii(
hex 返回字符的十六进制值
varchar : hex(
values hex('中'),hex('A'),x'41',x'E590B4'; 结果:E590B4 41 A 中chr 返回ASCII值对应的字符
char : sysfun.chr(
values sysfun.chr(89); 结果:Y
concat 字符串连接
string-type : sysibm.concat(
lower,lcase 转小写,upper,ucase 转大写
varchar(4000)|clob(1M) : sysfun.lcase(
char|varchar : sysibm.lower(
values sysibm.lower('Your Name'),sysibm.upper('Your Name'); 结果:your name YOUR NAME
values sysibm.lcase('Your Name'),sysfun.ucase('Your Name'); 结果:your name YOUR NAME
ltrim 去左空格,rtrim 去右空格,trim 去左右空格
char|varchar|graphic sysibm.ltrim(
varchar(4000)|clob(1M) sysfun.ltrim(
rtrim定义同ltrim,只不过trim函数定义不清楚
values '['||sysibm.ltrim(' h w ')||']','['||sysfun.rtrim(' h w ')||']','['||trim(' h w ')||']'; 结果:[h w ] [ h w] [h w]
trim 去除表达式前后指定的字符,默认是空格
character-type : sysibm.trim([B|BOTH|L|LEADING|T|TRAILING]
values trim('0' from '00012300') 结果:123
strip 去除表达式前后指定的字符,默认是空格
character-type : sysibm.strip(
values strip('**88000***',b,'*') 结果:88000
posstr 查找字符串位置(从1开始计数),没有找到返回0
string-type : sysibm.posstr(
values sysibm.posstr('the one is not that one','one'); 结果:5 position 查找字符串位置,与posstr功能类似,由于考虑到不同国家的字符集,增强编码模式
string-type : sysibm.position(
values position('a','abca',OCTETS) 结果:1
locate 搜索子字符串出现的位置,找不到返回0
integer : sysfun.locate(
values sysfun.locate('y','yesterday'),sysfun.locate('y','yesterday',2); 结果: 1 9
repeat 重复字符串
varchar(4000)|clob(1M)|blob(1M) : sysfun.repeat(
values sysfun.repeat('ab',5); 结果:ababababab
space 产生空格
varchar(4000) : sysfun.space(
values '['||sysfun.space(5)||']' ; 结果:[ ]
replace 替换字符串
varchar(4000)|clob(1M)|blob(1M) : sysfun.replace(
left 返回左边字符串right 返回右边字符串
varchar(4000)|clob(1M)|blob(1M) : sysfun.left(
values left('adf.adf',5),right('adf.adf',5) ; 结果:adf.a f.adf values right(digits(3),5),left(rtrim(char(3))||'00000',5); 结果: 00003 30000 这也是左补零右补零的方法
substr 截取字符中
string-type : sysibm.substr(
values sysibm.substr('abcdasd',1,2),sysibm.substr('abcdasd',3); 结果: ab cdasd
substring 字符串截取函数,与substr用法类似,不同的是substr是按字节截取,substring可以指定string unit
string-type :
sysibm.substring(
values substring('中国人是我',1,4,CODEUNITS16),substring('中国人是我',1,6,OCTETS) 结果:'中国人是' '中国'
octet_length 返回字符串的字节数
integer : sysibm.octet_length(
values octet_length('abc中'); 结果:6
length 返回字符串的长度(字节)
integer : sysibm.length(
2|OCTETS])
character_length 功能同length函数,使用时必须输入字符码values length('abc中'),character_length('abc中',CODEUNITS32); 结果:6 4
2 数学函数
digits 返回固定长度(不够前导补零)仅数字的字符串,不包括符号和点,结果长度small integer5位,large integer10位,big integer19位,decimal类型p精度位
string : sysibm.digits(
values digits(smallint(2.3)),digits(2.3),digits(bigint(2.3)),digits(dec(2.3,8, 2)); 结果是:'00002','23','0000000000000000002','00000230' abs、absval 取绝对值
values abs(-23); 结果:23
ceiling、floor 向上取整和向下取整
values ceiling(13.56),floor(13.56); 结果:14 13
mod 取模,取余数
values mod(10,3); 结果:1
rand 返回随机数
values rand;
round 国舍五入
values round(23.853,0),round(23.853,1),decimal(round(23.853,1),3,1) ,ro und(23.853,-1); 结果:24.000 23.900 23.9 20.000
sign 如果参数大于0返回1,如果参数小于0返回-1,如果参数为0返回0
power 返回参数1的参数2次幂
sqrt 返回该参数的平方根
degrees 求角度
radians 将度转换为弧度
3 日期函数
0)了解一下unix timestamp与DB2中的timestamp区别
Unix时间戳(Unix Timestamp):从格人威治时间1970年01月01日00时00分00秒(1970年1月1日00:00:00 GMT)到现在的总秒数即从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。一个小时为3600秒,一个基准日(纪元日,epoch day)为86400秒。以32位整型进行保存,可能会在2038年1月19日产生一些问题。
GMT:Greenwich Mean Time 格人威治时间
UTC:Universal Time Coordinated UTC时间,现在已经渐渐变成GMT 的同义词
转换当前时间为GMT时间:current timestamp - current timezone
数据库中的timestamp与unix timestamp是不同的,即数据库中的timestamp并不是时间戳,它是一个日期时间类型记录的是日期和时间信息。
1)DB2中关于日期与时间的表示有timestamp日期和时间(其中时间部分精确到ff6,即1000000ms),date日期,time时间(精确到秒) oracle中的timestamp类型精确到ff9毫秒
2)寄存器中的日期与时间
current timestamp 当前时间戳
current date 当前日期
current time 当前时间
3)日期时间对象直接相减,返回timestamp duration(数据类型为dec(20,6),即yyyymmddhhmiss.ff6)、date duration(数据类型为dec(8,0),即yyyymmdd)和time duration(数据类型为dec(6,0),即hhmiss)
timestamp-timestamp 返回两个时间戳对象相差的年月日时分秒毫秒
date-date 返回两个日期相差年月日
time-time 返回两个时间相差的时分秒
values date('2011-02-13')-date('2010-01-12'); 返回1 01 01,也就是1年1个月1日
values date('2998-02-13')-date('1220-08-26'); 返回1777 05 18,也就是1777年5个月18日
4)DB2中日期与时间对象能直接与带单位的数值(忽略小数部分)相加减年years、月months、日days、小时hours、分钟minutes、秒seconds、毫秒microseconds
values current time + 3 hours - 30 minutes + 58 seconds ; 结果:02:20:30
values current date + 2 years - 2 months + 20 days; 结果:
2013-12-03
values current timestamp + 2 years - 2 months + 20 days + 3 hours - 30 minutes + 58 seconds; 结果:2013-12-04 02:20:30 5)日期时间字符串转日期时间对象
timestamp、date、time、year、month、day、hour、minute、second、microsecond
这些函数的参数为timestmap、date、time、timestamp duration、date duration、time duration以及有效的时间日期字符串,
结果依次返回参数的timestamp、日期、时间、年、月、日、小时、分钟、秒和毫秒部分
SELECT timestamp('2012-11-23 18:35:30.580000') col1, date('2012-11-23') col2,
time('18:35:30') col3,
current timestamp col17,
current date col18,
current time col19,
year(current timestamp) col4,
year(current date) col5,
month(current timestamp) col6,
month(current date) col7,
day(current timestamp) col8,
day(current date) col9,
hour(current timestamp) col10,
hour(current time) col11,
minute(current timestamp) col12,
minute(current time) col13,
second(current timestamp) col14,
second(current time) col15,
microsecond(current timestamp) col16
FROM sysibm.sysdummy1;
6)其它日期时间函数
days 返回自0001年1月1日以来的天数,可以用来计算两个日期相隔的天数
bigint : sysibm.days(timestamp|date|date-string)
values days(current date)-days(date('2012-11-02')); 结果:21 timestamp_format 根据格式化字符串和日期字符串返回timestamp
timestamp : sysibm.timestamp_format(
其中支持的日期时间格式化字符串有:yyyy 4位年、mm 2位月、dd 2位月、hh12 12小时制小时、hh24 24小时制小时、mi 2位分钟、ss 2位秒、ff 1~6位毫秒
格式化分隔符有dash (-)、period (.)、slash (/)、comma (,)、apostrophe (')、semi-colon (;)、colon (:)、blank ( )
SELECT timestamp_format('2012/11/23 235935.540540','yyyy/mm/dd hh24miss.ff6') col1,
timestamp_format('20121123','yyyymmdd') col2,
timestamp_format('23,59','hh24,mi') col3
FROM sysibm.sysdummy1;
to_timestamp和to_date 字符串转timestamp和date类型,是timestamp_format的同义词,用法类似
timestampdiff 计算返回表达式中指定部分的值
integer:sysfun.timestampdiff(
values timestampdiff(16,char(current timestamp - (current timestamp - 23 days)));
注意:1、此函数在计算时按1月=30天计算,因此计算天不准确,建议使用days()计算相差的天数,例如下面计算2011-03-13与2010-01-26相差天数,结果为413和411,明显示411是正确的,而413是将2010年2月的28天当30天多算了2天
values timestampdiff(16,char(timestamp('2011-03-13 03:16:34.562003')-timestamp('2010-01-26 00:00:00')));
values days(timestamp('2011-03-13 03:16:34.562003')) - days(timestamp('2010-01-26 00:00:00'));
2、因为返回值为integer类型,所以函数在计算时有精度误差,它是只舍不入的,例如下面结果4,实际上应该是4分钟59秒values timestampdiff(4,char(current timestamp - (current timestamp - 5 minutes + 1 seconds)));
quarter 返回日期所在季度,返回1~4
values quarter(current date) ;
midnight_seconds 返回自午夜过去的秒数,即从00:00:00到指定时间间隔秒数
SELECT current timestamp col1,
midnight_seconds(current timestamp) col2,
midnight_seconds(current time) col3
FROM sysibm.sysdummy1;
monthname 返回月分名称
values monthname(current date);
dayofyear 返回日期在当年中的第几天,返回1~366
dayofweek 返回日期在周中的位置
integer : sysfun.dayofweek(timestamp|date|date-string) 返回1~7,分别表示星期天、星期一...星期六
values dayofweek(current date);
dayname 返回日期是星期几
string : sysfun.dayname(timestamp|date|date-string) 返回本地星期的表示,如星期一
week 返回日期是当年的第几周,返回1~54
last_day 返回日期当月的最后一天日期,在v9.7中使用s
4 类型转换函数
在DB2中内置数据类型都有自己相应的数据类型转换函数,如smallint、integer、bigint、decimal、real、double、float、char、varchar、clob、graphic、blob等
因为其使用简单,不作详述
decimal <--> char
假设字段定义为decimal(20,5),现在存储8.9,直接转结果是字符串为'000000000000008.90000 ',注意后面有一个空格
values char(cast(8.9 as decimal(20,5)));
最佳写法:values strip(trim(char(cast(8.9 as decimal(20,5)))),both,'0'); 结果是字符串'8.9'
字符串'8.9'转成decimal(10,5)写法values decimal('8.94',10,2);或者values cast('8.934' as decimal(10,5));
cast 数据类型转换
data-type : cast(
values cast('123' as integer);
decimal或者dec
decimal : sysibm.dec(
参数说明:numeric-type 数值类型,integer1 精度(precision),integer2 该度(scale),就是显示的小数位数如果precision设置过小,会报SQLSTATE=22003错误,数值转换时越界,即要求整数部分位数< precision - scale,
例如decimal(223.345,6,2)中6定义一共6位数字,2定义两位小数,如果需要转换的字符串非小数部分位数超6-2就会报错。decimal : sysibm.dec(
values sysibm.dec(233.2323,4,1); 结果:233.2
values sysibm.dec(233,4,1); 结果:233.00
values sysibm.dec('23.2323',5,1,'.'); 结果:23.20
values sysibm.decimal(223.345,6,2); 结果:223.34
char 转字符串
char : sysibm.char(
char : sysibm.char(
char : char(
keywords格式化
DB2日期的缺省格式由数据库的地区代码决定,该代码在数据库创建的时候被指定。可以在创建数据库时使用territory=USA 来定义地区代码,可选值有:
DEF 使用与地区代码相匹配的日期和时间格式
EUR 使用欧洲日期和时间的IBM 标准格式,格式:dd.mm.yyyy ISO 使用国际标准组织(ISO)制订的日期和时间格式,格式:yyyy-mm-dd
JIS 使用日本工业标准的日期和时间格式,格式为:yyyy-mm-dd
LOC 使用与数据库地区代码相匹配的本地日期和时间格式,本地日期格式,在char(date-type,keywords)中使用LOCATE USA 使用美国日期和时间的IBM 标准格式,格式:mm/dd/yyyy values sysibm.char(223.345,',') ; 结果:223,345
values sysibm.char('223.345',4) ; 结果:223.
values char(current date,ISO); 结果:2012-05-09
values sysibm.char(current date); 结果:2012-05-09
values sysibm.char(current timestamp);结果:2012-05-09-23.22.03.906000
values sysibm.char(34); 结果:34
to_char 将timestamp类型参数转成指定格式字符串
定义: varchar : sysibm.to_char(
实例: values sysibm.to_char(current timestamp,'yyyy-mm-dd
hh:mi:ss'); 结果:2012-05-10 01:24:43
5 其它函数
coalesce 取第一个非空值,可以用来将NULL转成指定值
any-type : sysibm.coalesce(par1,par2,...) 要求参数类型一致,可以接受任何build-in data type
values coalesce(cast(null as integer),2,3);
value 取第一个非空值,用法类似于coalesce
nullif 参数相等时返回NULL,否则返回第一个参数
any-type : sysibm.nullif(
nullif(e1,e2) 相当于case when e1=e2 then null else e1 end values sysibm.nullif('a','a'),sysibm.nullif(cast(null as char(1)),'a'); 数值截断函数trunc或truncate
decimal-type : sysfun.trunc(
其中exp2为正数时截断小数位(保留小数位),为负数时向左截断整数位(变0)
values sysfun.truncate(345.2344,2),truncate(345.2344,56),truncate(345. 2344,0),truncate(345.2344,-1); 结果:345.23 345.2344 345 340 translate 字符串转换
varchar : sysibm.translate(
按自左到右顺序,按位找from-string中的字符在source-string 出现时使用同位置(与from-string中字符相同位置)的字符替换,如果在from-string中的位置在to-string中没有,则使用pad-string字符串(默认是空格)替换
values sysibm.translate('Hello World','db2','World','%'); 结果:He%%b db2%%
解释:from-string为World,to-string为db2,替换字符串为%,就是在Hello World中替换W-->d,o-->b,r-->2,l-->%,d-->% vlaues '['||sysibm.translate('Hello World','db2','World')||'] ; 结果:[He b db2 ]
listagg 聚集函数
DB2 v9.7.4 中新增的函数,用于拼
SELECT id,LISTAGG(name,',') WITHIN GROUP(ORDER BY name) names
FROM (VALUES(1,'张三'),(1,'李明'),(1,'杨青'),(2,'柯言'),(2,'何枫')) AS t(id,name)
GROUP BY id;
结果:
id name
-- ---------------
1 张三,李明,杨青
2 何枫,柯言
SELECT stno,LISTAGG(subname||' '||score,',') WITHIN GROUP(ORDER BY 1) info
FROM (VALUES ('NO01','语文',90) , ('NO01','数学',99) , ('NO01','英语',98) ,
('NO02','语文',96),('NO02','数学',95)) AS t(stno,subname,score)
GROUP BY stno;
结果:
STNO INFO
------- -----------
NO01 语文90,数学99,英语98
NO02 语文96,数学95
xmlagg 函数
SELECT
stno,REPLACE(REPLACE(XML2CLOB(XMLAGG(XMLELEMENT(NA ME stno,subname||' '||score||' , '))),'
FROM (VALUES ('NO01','语文',90) , ('NO01','数学',99) , ('NO01','英语',98) ,
('NO02','语文',96),('NO02','数学',95)) AS t(stno,subname,score)
GROUP BY stno;
结果:
STNO INFO
------- ----------------------------------
NO01 语文90 , 数学99 , 英语98 ,
NO02 语文96 , 数学95 ,
type_id、type_name和type_schema 返回数据类型的id、name和schema,要求参数是structured data type
strip 功能增加的trim标量函数,它可以用来去除表达式的前缀和后缀
特殊应用:
--获取当前月份
values month(current timestamp) ;
Proe中的部分函数关系 一、函数关系 sin 正弦Cos 余弦tan 正切asin 反正弦acos 反余弦atan 反正切sinh 双曲线余弦cosh 双曲线正弦tanh 双曲线正切spar 平方根exp e的幂方根abs 绝对值log 以10为底的对数ln 自然对数 ceil 不小于其值的最小整数floor 不超过其值的最大整数 二、齿轮公式 alpha=20 m=2 z=30 c=0.25 ha=1 db=m*z*cos(alpha) r=(db/2)/cos(t*50) theta=(180/pi)*tan(t*50)-t*50 z=0 三、蜗杆的公式da=8为蜗杆外径m=0.8 为模数angle=20压力角 L=30长度q直径系数d分度圆直径f齿根圆直径n实数
其中之间的关系 q=da/m-2 d=q*m df=(q-2.4)*m n=ceil(2*l/(pi*m)) 在可变剖面扫描的时候运用公式sd4=trajpar*360*n 在扫描切口的时候绘制此图形,其中红色的高的计算公式是sd5=pi*m/2 五、方向盘的公式sd4=sd6*(1-(sin(trajpar*360*36)+1)/8) 其中sd4是sd6的(3/4或者7/8),sin(trajpar*360*36的意思是转过360度且有36个振幅似的 六、凸轮的公式sd5=evalgraph("cam2",trajpar*360) r=150 theta=t*360 z=9*sin(10*t*360) 在方向按sin(10*t*360)的函数关系,9为高的9倍10为10个振幅似的 七、锥齿轮公式 m=4模数z =50齿轮齿数z-am=40与之啮合的齿轮齿数angle=20压力角b=30齿厚long分度圆锥角 d分度圆直径da齿顶圆直径df齿根圆直径db基圆直径关系:long=atan(z/z-am) d=m*z da=d+2*m*cos(long)
Excel 常用电子表格公式大全【汇总篇】 篇一:Excel 常用电子表格公式汇总 Excel 常用电子表格公式汇总 1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。 2、用出生年月来计算年龄公式: =TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。 3、从输入的 18 位身份证号的出生年月计算公式: =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1," 男 "," 女 "),IF(MOD(MID(C2,17,1),2)=1," 男 "," 女 ")) 公式内的“C2”代表的是输入身份证号码的单元格。 5、求和: =SUM(K2:K56)——对 K2 到 K56 这一区域进行求和; 6、平均数: =AVERAGE(K2:K56)——对 K2 K56 这一区域求平均数; 7、排名: =RANK(K2,K$2:K$56)——对 55 名学生的成绩进行排名; 8、等级: =IF(K2>=85,"优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格"))) 9、 学期总评: =K2*0.3+M2*0.3+N2*0.4 ——假设 K 列、 M 列和 N 列分别存放着学生的“平 时总评”、“期中”、“期末”三项成绩; 10、最高分: =MAX(K2:K56) ——求 K2 到 K56 区域(55 名学生)的最高分; 11、最低分: =MIN(K2:K56) ——求 K2 到 K56 区域(55 名学生)的最低分; 12、分数段人数统计: (1) =COUNTIF(K2:K56,"100") ——求 K2 到 K56 区域 100 分的人数;假设把结果存放于 K57 单元格; (2)=COUNTIF(K2:K56,">=95")-K57 ——求 K2 到 K56 区域 95~99.5 分的人数;假设把结 果存放于 K58 单元格; (3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58)——求 K2 到 K56 区域 90~94.5 分的人数; 假设把结果存放于 K59 单元格; (4) =COUNTIF(K2:K56,">=85")-SUM(K57:K59)——求 K2 到 K56 区域 85~89.5 分的人数; 假设把结果存放于 K60 单元格; (5) =COUNTIF(K2:K56,">=70")-SUM(K57:K60)——求 K2 到 K56 区域 70~84.5 分的人数; 假设把结果存放于 K61 单元格; (6) =COUNTIF(K2:K56,">=60")-SUM(K57:K61)——求 K2 到 K56 区域 60~69.5 分的人数; 假设把结果存放于 K62 单元格; (7) =COUNTIF(K2:K56," 说明:COUNTIF 函数也可计算某一区域男、女生人数。 如:=COUNTIF(C2:C351,"男") ——求 C2 到 C351 区域(共 350 人)男性人数; 1 / 10
高中常用函数性质及图像 一次函数 (一)函数 1、确定函数定义域的方法: (1)关系式为整式时,函数定义域为全体实数; (2)关系式含有分式时,分式的分母不等于零; (3)关系式含有二次根式时,被开放方数大于等于零; (4)关系式中含有指数为零的式子时,底数不等于零; (5)实际问题中,函数定义域还要和实际情况相符合,使之有意义。 (二)一次函数 1、一次函数的定义 一般地,形如y kx b =+(k ,b 是常数,且0k ≠)的函数,叫做一次函数,其中x 是自变量。当0b =时,一次函数y kx =,又叫做正比例函数。 ⑴一次函数的解析式的形式是y kx b =+,要判断一个函数是否是一次函数,就是判断是否能化成以上形式. ⑵当0b =,0k ≠时,y kx =仍是一次函数. ⑶当0b =,0k =时,它不是一次函数. ⑷正比例函数是一次函数的特例,一次函数包括正比例函数. 2、正比例函数及性质 一般地,形如y=kx(k 是常数,k≠0)的函数叫做正比例函数,其中k 叫做比例系数. 注:正比例函数一般形式 y=kx (k 不为零) ① k 不为零 ② x 指数为1 ③ b 取零 当k>0时,直线y=kx 经过三、一象限,从左向右上升,即随x 的增大y 也增大;当k<0时,?直线y=kx 经过二、四象限,从左向右下降,即随x 增大y 反而减小. (1) 解析式:y=kx (k 是常数,k ≠0) (2) 必过点:(0,0)、(1,k ) (3) 走向:k>0时,图像经过一、三象限;k<0时,?图像经过二、四象限 (4) 增减性:k>0,y 随x 的增大而增大;k<0,y 随x 增大而减小 (5) 倾斜度:|k|越大,越接近y 轴;|k|越小,越接近x 轴 3、一次函数及性质 一般地,形如y=kx +b(k,b 是常数,k≠0),那么y 叫做x 的一次函数.当b=0时,y=kx +b 即y=kx ,所以说正比例函数是一种特殊的一次函数. 注:一次函数一般形式 y=kx+b (k 不为零) ① k 不为零 ②x 指数为1 ③ b 取任意实数 一次函数y=kx+b 的图象是经过(0,b )和(- k b ,0)两点的一条直线,我们称它为直线y=kx+b,它可以看作由直线y=kx 平移|b|个单位长度得到.(当b>0时,向上平移;当b<0时,向下平移)
如果匹配不到内容就直接返回空值: =IFERROR(VLOOKUP($A2,Sheet2!$A$2:$L$99,5,0),"") 如果A2的单元格不为空就进行匹配,如匹配不到内容则直接返回空,如匹配有内容则将匹配到的文本类型的数字转化为数字类型可求和的数字 =IFERROR(IF(A2<>"",VALUE(VLOOKUP($A2,Sheet2!$A$2:$L$99,5,0)),""),"") 注意:Sheet2表格内的数据由于被引用不能直接删除单元格,只能粘贴替换或选择“清除内容”。 如果A1单元格为空,则为空,如果A1单元格不为空,则求和A1到A5的数值: =IF(A1=””,””,SUM(A1:A5)) 截取单元格中指定字符后的所有文本(不包括指定字符): 截取D5单元格中“市”字后面的所有文本: =MID(D5,FIND("市",D5,1)+1,LEN(D5)-FIND("市",D5,1)) 查找“市”字在D5单元格中的位置并往后移一位得到“市”字后面的第一个字的所在位置字符长度的数字: =FIND("市",D5,1)+1 D5单元格的字符总长度数字减去“市”字前的长度数字得到“市”字后面字符长度的数字(不包括“市”字和“市”字之前的字符): =LEN(D5)-FIND("市",D5,1) excel判断两个单元格是否相同 如果只是汉字,用如下公式 =IF(A1=B1,"相同","不同") 如果包含英文且要区分英文大小写,用如下公式 =IF(EXACT(A1,B1),"相同","不同") 将两个不同表单或表格的内容自动查找相应内容合并在一个表格内:=VLOOKUP(I2,A1:D41,4,0) =VLOOKUP(两表中相同的值,其它表单或表格区域,要匹配值所在的列的数目,0) 将截取后的数字转为数字格式显示(利于计算统计)=VALUE(MID(D2,1,10))
计算机二级考试MS_Office应用Excel函数 =公式名称(参数1,参数2,。。。。。) =sum(计算范围) =average(计算范围) =sumifs(求和范围,条件范围1,符合条件1,条件范围2,符合条件2,。。。。。。) =vlookup(翻译对象,到哪里翻译,显示哪一种,精确匹配) =rank(对谁排名,在哪个范围里排名) =max(范围) =min(范围) =index(列范围,数字) =match(查询对象,范围,0) =mid(要截取的对象,从第几个开始,截取几个) =int(数字) =weekda y(日期,2) =if(谁符合什么条件,符合条件显示的内容,不符合条件显示的内容) =if(谁符合什么条件,符合条件显示的内容,if(谁符合什么条件,符合条件显示的内容,不符合条件显示的内容)) SUM函数 简单求和。 函数用法 SUM(number1,[number2],…) =SUM(A1:A5)是将单元格 A1 至 A5 中的所有数值相加; =SUM(A1,A3,A5)是将单元格 A1,A3,A5 中的数字相加。 SUMIFS函数 根据多个指定条件对若干单元格求和。 函数用法 SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) 1) sum_range 是需要求和的实际单元格。包括数字或包含数字的名称、区域或单元格引用。忽略空白值和文本值。 2) criteria_range1为计算关联条件的第一个区域。 3) criteria1为条件1,条件的形式为数字、表达式、单元格引用或者文本,可用来定义将对criteria_range1参数中的哪些单元格求和。例如,条件可以表示为32、“>32”、B4、"苹果"、或"32"。 4)criteria_range2为用于条件2判断的单元格区域。 5) criteria2为条件2,条件的形式为数字、表达式、单元格引用或者文本,可用来定义将对criteria_range2参数中的哪些单元格求和。 4)和5)最多允许127个区域/条件对,即参数总数不超255个。 VLOOKUP函数 是Excel中的一个纵向查找函数,按列查找,最终返回该列所需查询列序所对应的值。
Creo(PROE)中关系式的理解 一)关系式中可以用下列数学函数式表达: 1)、正弦 sin( ) 2)、余弦 cos( ) 3)、正切 tan( ) 4)、反正弦 asin( ) 5)、反余弦 acos( ) 6)、反正切 atan( ) 7)、双曲线正弦 sinh( ) 8)、双曲线余弦 cosh( ) 9)、双曲线正切 tanh( ) 以上九种三角函数式所使用的单位均为“度”。 10)、平方根 sqrt( ) 11)、以10为底的对数 log( ) 12)、自然对数 ln( ) 13)、e的幂 exp( ) 14)、绝对值 abs( ) 15)、不小于其值的最小整数(上限值) ceil( ) 16)、不超过其值的最大整数(下限值) floor( ) 可以给函数ceil和floor加一个可选的自变量,用它指定要圆整的小数位数。 带有圆整参数的这些函数的语法是: ceil(parameter_name或number, number_of_dec_places) floor (parameter_name 或 number, number_of_dec_places) 其中的parameter_name或number意为参数名称或者一个带小数位的精确数值 后面跟随着的number_of_dec_places意为十进位的小数位数,是可选值: A)可以被表示为一个数或一个使用者自定义参数。如果该参数值是一个实数,则被截尾成为一个整数。 B)它的最大值是8。如果超过8,则不会舍入要舍入的数(第一个自变量),并使用其初值。C)如果不指定它,则功能同前期版本一样。 使用不指定小数部分位数的ceil和floor函数,其举例如下: ceil (10.2) 值为11 floor (10.2) 值为 10
在ProE中,我们的关系可以直接很多系统已经预定义好的函数,通过这些函数我们可以来进行一些特定的运算得到所期望的值,下面我们就对一些常用函数进行一个概括和总结,方便大家在使用的时候查阅。 1.数学函数 在proe中,我们可以使用丰富的数学函数,常用的函数列表如下: sin()、cos()、tan()函数 这三个都是数学上的三角函数,分别使用角度的度数值来求得角度对应的正弦、余弦和正切值,比如: A=sin(30) A=0.5? B=0.866?B=cos(30) ?C=tan(30) C=0.577 asin()、acos()、atan()函数 这三个是上面三个三角函数的反函数,通过给定的实数值求得对应的角度值,如:A=asin(0.5) A=30? B=60?B=acos(0.5) C=26.6?C=atan(0.5)
sinh()、cosh()、tanh()函数 在数学中,双曲函数类似于常见的(也叫圆函数的)三角函数。基本双曲函数是双曲正弦“sinh”,双曲余弦“cosh”,从它们导出双曲正切“tanh”等。 sinh / 双曲正弦:sinh(x) = [e^x - e^(-x)] / 2 cosh / 双曲余弦:cosh(x) = [e^x + e^(-x)] / 2 tanh / 双曲正切:tanh(x) = sinh(x) / cosh(x)=[e^x - e^(-x)] / [e^x + e^(-x)] 函数使用实数作为输入值 log()函数 求得10为底的对数值,如: A=log(1) A=0;? A=1;?A=log(10) ?A=log(5) A=0.6989...; ln()函数 求得以自然数e为底的对数值,e是自然数,值是2.718...;如: A=ln(1) A=0;? ?A=ln(5) A=1.609...;
Excel表格常用运算公式及使用方法汇总 1、查找重复内容公式:=IF(COUNTIF(A:AA2)>1”重复””")。 2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6”2009/8/30″FALSE))/3600)。 3、从输入的18位身份证号的出生年月计算公式: =CONCATENATE(MID(E274)”/”MID(E2112)”/”MID(E2132))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15IF(MOD(MI D(C2151)2)=1”男””女”)IF(MOD(MID(C2171)2)=1”男””女”))公式内的“C2”代表的是输入身份证号码的单元格。 1、求和: =SUM(K2:K56) ——对K2到K56这一区域进行求和; 2、平均数: =AVERAGE(K2:K56) ——对K2 K56这一区域求平均数; 3、排名: =RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名; 4、等级:=IF(K2>=85”优”IF(K2>=74”良”IF(K2>=60”及格””不及格”))) 5、学期总评: =K2*0.3+M2*0.3+N2*0.4 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩; 6、最高分: =MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分; 7、最低分: =MIN(K2:K56) ——求K2到K56区域(55名学生)的最低分; 8、分数段人数统计: (1) =COUNTIF(K2:K56”100″) ——求K2到K56区域100分的人数;假设把结果存放于K57单元格; (2) =COUNTI F(K2:K56”>=95″)-K57 ——求K2到K56区域95~99.5分的人数;假设把结果存放于K58单元格; (3)=COUNTIF(K2:K56”>=90″)-SUM(K57:K58) ——求K2到K56区域90~94.5分的人数;假设把结果存放于K59单元格; (4)=COUNTIF(K2:K56”>=85″)-SUM(K57:K59) ——求K2到K56区域85~89.5分的人数;假设把结果存放于K60单元格; (5)=COUNTIF(K2:K56”>=70″)-SUM(K57:K60) ——求K2到K56区域70~84.5分的人数;假设把结果存放于K61单元格; (6)=COUNTIF(K2:K56”>=60″)-SUM(K57:K61) ——求K2到K56区域60~69.5分的人数;假设把结果存放于K62单元格; (7) =COUNTIF(K2:K56”<60″) ——求K2到K56区域60分以下的人数;假设把结果存放于K63单元格; 说明:COUNTIF函数也可计算某一区域男、女生人数。 如:=COUNTIF(C2:C351”男”) ——求C2到C351区域(共350人)男性人数;
一.正比例函数的性质 1.定义域:R(实数集) 2.值域:R(实数集) 3.奇偶性:奇函数 4.单调性:当k>0时,图像位于第一、三象限,y随x的增大而增大(单调递增);当k<0时,图像位于第二、四象限,y随x的增大而减小(单调递减) 5.周期性:不是周期函数。 6.对称轴:直线,无对称轴。、 二.一次函数图像和性质 一般地,形如y=kx+b(k、b是常数,且k≠0?)的函数,?叫做一次函数(?linear function).一次函数的定义域是一切实数. 当b=0时,y=kx+b即y=kx(k是常数,且k≠0?).所以说正比例函数是一种特殊的一次函数. 当k=0时,y等于一个常数,这个常数用c来表示,一般地,我们把函数y=c(c是常数)叫做常值函数(constant function)它的定义域由所讨论的问题确定. 一般来说, 一次函数y=kx+b(其中k、b是常数,且k≠0)的图像是一条直线. 一次函数y=kx+b的图像也称为直线y=kx+b. 一次函数解析式y=kx+b称为直线的表达式. 一条直线与y轴的交点的纵坐标叫做这条直线在y轴上的截距,简称直线的截距. 一般地,直线y=kx+b(k0)与y轴的交点坐标是(0,b).直线y=kx+b(k0)的截距是b. 一次函数的图像: k>0 b>0 函数经过一、三、二象限 k>0 b<0 函数经过一、二、三象限 k<0 b>0 函数经过一、二、四象限