acm常用函数范文

2024-03-22

acm常用函数范文第1篇

一、员工信息表公式

1、计算性别(F列) =IF(MOD(MID(E3,17,1),2),"男","女")

2、出生年月(G列) =TEXT(MID(E3,7,8),"0-00-00")

3、年龄公式(H列) =DATEDIF(G3,TODAY(),"y")

4、退休日期 (I列) =TEXT(EDATE(G3,12*(5*(F3="男")+55)),"yyyy/mm/dd aaaa")

5、籍贯(M列) =VLOOKUP(LEFT(E3,6)*1,地址库!E:F,2,) 注:附带示例中有地址库代码表

6、社会工龄(T列) =DATEDIF(S3,NOW(),"y")

7、公司工龄(W列) =DATEDIF(V3,NOW(),"y")&"年"&DATEDIF(V3,NOW(),"ym")&"月"&DATEDIF(V3,NOW(),"md")&"天"

8、合同续签日期(Y列) =DATE(YEAR(V3)+LEFTB(X3,2),MONTH(V3),DAY(V3))-1

9、合同到期日期(Z列) =TEXT(EDATE(V3,LEFTB(X3,2)*12)-TODAY(),"[

10、工龄工资(AA列) =MIN(700,DATEDIF($V3,NOW(),"y")*50)

11、生肖(AB列) =MID("猴鸡狗猪鼠牛虎兔龙蛇马羊",MOD(MID(E3,7,4),12)+1,1)

二、员工考勤表公式

1、本月工作日天数(AG列) =NETWORKDAYS(B$5,DATE(YEAR(N$4),MONTH(N$4)+1,),)

2、调休天数公式(AI列) =COUNTIF(B9:AE9,"调")

3、扣钱公式(AO列) 婚丧扣10块,病假扣20元,事假扣30元,矿工扣50元

=SUM((B9:AE9={"事";"旷";"病";"丧";"婚"})*{30;50;20;10;10})

三、员工数据分析公式

1、本科学历人数

=COUNTIF(D:D,"本科")

2、办公室本科学历人数

=COUNTIFS(A:A,"办公室",D:D,"本科")

3、30~40岁总人数

=COUNTIFS(F:F,">=30",F:F,"

四、其他公式

1、提成比率计算

=VLOOKUP(B3,$C$12:$E$21,3)

2、个人所得税计算

假如A2中是应税工资,则计算个税公式为:

=5*MAX(A2*{0.6,2,4,5,6,7,9}%-{21,91,251,376,761,1346,3016},)

3、工资条公式

=CHOOSE(MOD(ROW(A3),3)+1,工资数据源!A$1,OFFSET(工资数据源!A$1,INT(ROW(A3)/3),,),"") 注:

A3:标题行的行数+2,如果标题行在第3行,则A3改为A5 工资数据源!A$1:工资表的标题行的第一列位置

4、Countif函数统计身份证号码出错的解决方法

由于Excel中数字只能识别15位内的,在Countif统计时也只会统计前15位,所以很容易出错。不过只需要用 &"*" 转换为文本型即可正确统计。 =Countif(A:A,A2&"*")

五、利用数据透视表完成数据分析

1、各部门人数占比

统计每个部门占总人数的百分比

2、各个年龄段人数和占比

公司员工各个年龄段的人数和占比各是多少呢?

3、各个部门各年龄段占比

分部门统计本部门各个年龄段的占比情况

4、各部门学历统计

各部门大专、本科、硕士和博士各有多少人呢?

5、按年份统计各部门入职人数

每年各部门入职人数情况

附:HR工作中常用分析公式

1.【新进员工比率】=已转正员工数/在职总人数

2.【补充员工比率】=为离职缺口补充的人数/在职总人数

3.【离职率】(主动离职率/淘汰率=离职人数/在职总人数=离职人数/(期初人数+录用人数)×100%

4.【异动率】=异动人数/在职总人数 5.【人事费用率】=(人均人工成本*总人数)/同期销售收入总数

6.【招聘达成率】=(报到人数+待报到人数)/(计划增补人数+临时增补人数)

7.【人员编制管控率】=每月编制人数/在职人数

8.【人员流动率】=(员工进入率+离职率)/2 9.【离职率】=离职人数/((期初人数+期末人数)/2)

10.【员工进入率】=报到人数/期初人数

11.【关键人才流失率】=一定周期内流失的关键人才数/公司关键人才总数

12.【工资增加率】=(本期员工平均工资—上期员工平均工资)/上期员工平均工资

13.【人力资源培训完成率】=周期内人力资源培训次数/计划总次数

14.【部门员工出勤情况】=部门员工出勤人数/部门员工总数 15.【薪酬总量控制的有效性】=一定周期内实际发放的薪酬总额/计划预算总额

16.【人才引进完成率】=一定周期实际引进人才总数/计划引进人才总数

17.【录用比】=录用人数/应聘人数*100% 18.【员工增加率】 =(本期员工数—上期员工数)/上期员工数

本文Excel示例下载(百度网盘):https://pan.baidu.com/s/1kVLvWwR 今天分享的Excel公式虽然很全,但实际和HR实际要用到的excel公式相比,还会有很多遗漏。欢迎做HR的同学们补充你工作中最常用到的公式。

要点回顾:

1. 员工信息表公式

2. 员工考勤表公式

3. 员工数据分析公式 4. 其他公式

acm常用函数范文第2篇

396-经济类联考综合能力 431-金融学综合

更多考试科目信息

acm常用函数范文第3篇

int是我们最常用的类型之一。如果输入数据是整形,一般都直接用该类型来存放输入数据。

错误经历:

自己在作Equiptment Box时,因为输入数据长、宽均是小于50000的整数,因此就使用int来作输入。这本身没有问题,但在求其斜边长时,使用的是sqrt(x * x + y * y),表面看是没有问题,但结果一直是Wrong Answer。 后来将这一行改为pow( (pow(x, 2) + pow( y,3 ) ) , 0.5),就Accept了! 错误原因:

后来经johnbill和hewei的分析,x,y本身没有问题,不会越界,但使用sqrt(x*x +y*y)时,里面的x*x 和 y*y则会超出int范围,造成溢出。而pow会将参数自动转换为double,就不会出错。

避免失误的办法:

(1)以后均使用pow进行运算。(习惯) (2)运算时,注意做强行转换。(比较麻烦)

(3)不管输入给的类型,直接用double来存储,就不会溢出了。这种方法表面看没有问题,但直到这次比赛,才发现了一个很严重的问题!

2、 double遇到过的问题 简介:

是我们在解题时,和int一起是最常用的类型。 错误经历:

因为 double上限可达1.7e308 。而一般题目(非大数运算要求)均不可能超过其限,发生溢出,所以之后我就在做题时,凡是遇到结果有些大时,均用double类型来保存,来避免溢出。看起来,这样比较方便,因为我们在本机上是用VC++,而OnlineJudge是gcc,它们支持的长整形类型不同,一个是__int64, 而一个是long long;处理格式也不同,I 64u 和 lld。而在这种情况下,“真正”的可以用double的话,那就可以将其统一起来。但是……昨天比赛C题时,自己也是这么递推和用double保存,但一直Wrong Answer。和递归能计算出(太大的数据很耗时)的数据相比,都是正确的,不知原因何在。比赛结束后,和别人结果对照了一下,把double改成unsigned long long 就Accept了。 错译原因:

这是因为:double类型的精度只有15位!!!它的上限可以很大,但只能保证15位的精度!换句话说,只能保证15位是正确的。在数据( 50,50)以后,结果都在20位以上,前面的位数是正确的,但后面的几位就会出现问题了! 解决方法:

(1) 定义头文件,在本机上用__int64,提交时用long long (2) 本机上使用VAC编译( J ) (奇难用!)

(3) 反正绝对不能使用double来计数,尤其比较大的数,但可以利用它来测试最大数据的范围大小,这样可以反过来帮助我们决定用什么类型来保存。

3、 float遇到过的问题

我还记得当时Hunter做area的时候,各方面都作了考虑,但一直是Wrong Answer。后来只是把存储坐标的float类型改为double,就过了。 原因:

应该是float的精度不够(具体嘛…..大家re),但题目只要求3位小数也有问题……。所以,以后大家要使用浮点数计算时,直接用double,不要考虑使用float。一般内存是不会有问题的。

4、 4舍5入的问题:

在做Lifting the Stone时,题上要求保留到小数点两位,第三位作四舍五入,自己直接用%.02来打,以为自动会四舍五入。但一直没过。加上处理之后就过了……. 原因:

小数点后第三位为5时,会随机的作进位处理。 解决办法:

如果题上要求了四舍五入,一定要记得进行处理:x = floor(x*100 + 0.5)/100,

5、 为5时,后一位奇数进位,偶数不进位: 这个JohnBIll讲过,一般不会有这种“浪费青春的题…..”。 解决办法:

acm常用函数范文第4篇

大二上半学期,由于报了大学生电子商务竞赛而进入实验室。在大一时,比较迷茫,不知道自己的专业什么内容重要,什么内容不重要。所以在大一下半学期学习C语言这门最基础的程序设计课的时候,老师上课在讲自己也不认真听讲。觉得只要考试能过就行了。结果考试是过了,但对于C语言还是一窍不通。

在大二下班学期,由于选了面向对象程序设计和数据结构,老师的内容不怎么听的懂。开始认识到C语言的重要性,自己从头开始自学,把非计算机专业的C语言借来看,慢慢的赶上去,不懂的就问问同学。把书认真的看了两遍后,再接触接触计量OJ上的题目提高一下自己。就这样我开始接触了ACM。ACM=算法+数据结构。第一次接触ACM,刚开始做简单题的时候我也感觉并不容易,比如有些英文题目看起来比较费劲,要看很久才能搞清楚题目意思,有时候简单题目交上去不正确,题目有很多trick,有时候代码看多了,人就会觉得很厌倦和郁闷,但是不要灰心,我觉得做什么事贵在坚持,只要坚持下来,就会越来越体会到ACM 的无穷乐趣了。后来自己独立思考,把一些没有算法的题目基本上都提交成功了。也觉得有一些成就感,从一点都不会到现在能把一些简单的题目解决。有算法的题目,就自己百度或查一些资料,由于没有老师的指导,有些算法还是模棱两可。在数据结构的课上,老师也给我们介绍了一些算法。

下面是我自己总结的算法: 一.基本算法: (1)枚举. (2)贪心

(3)递归和分治法 (4)递推

(5)构造法 (6)模拟法 二.图算法

(1)图的深度优先遍历和广度优先遍历. (2)最短路径算法 (3)最小生成树算法 (4)拓扑排序

(5)二分图的最大匹配

(6)最大流的增广路算法(KM算法) 三.数据结构 (1)串

(2)排序(快排、归并排(与逆序数有关)、堆排) (3)简单并查集的应用.

(4)哈希表和二分查找等高效查找法 (5)哈夫曼树 (6)堆

(7)trie树(静态建树、动态建树)

四.简单搜索 (1)深度优先搜索

(2)广度优先搜索

(3)简单搜索技巧和剪枝 五.动态规划 (1)背包问题.

(2)型如下表的简单DP 1.E[j]=opt{D+w(i,j)}

2.E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最长公共子序列) 3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最优二分检索树问题) 六.数学

(1)组合数学:

1.加法原理和乘法原理. 2.排列组合. 3.递推关系. (2)数论.

1.素数与整除问题

2.进制位.

3.同余模运算. (3)计算方法.

1.二分法求解单调函数相关知识 七.计算几何学. (1)几何公式.

(2)叉积和点积的运用(如线段相交的判定,点到线段的距离等).

(3)多边型的简单算法(求面积)和相关判定(点在多边型内,多边型是否相交) (4)凸包. 对上述一些排序算法能熟练的掌握。对于其他的一些算法,原理我还是比较熟悉的,要把书上长长的代码转化为自己的代码运用到题目中,还是觉得很难。 学算法有一个很重要的方法:每学一种算法的时候可以先看书或者上网查,搞清楚原理之后,可以从OJ上找一些这类算法的简单题做,然后对这个算法比较熟了之后就可以找一些这种算法的变形等比较难的题目做,每做完一个题目我都会在代码旁边写好注释用word文档存起来,定期把文档打印出来。或者可以写下这题的解题报告,说明用什么算法做的,要注意什么问题,便于以后要看时能够快速理解。还有对于ACM程序设计不仅要求你做的题目要多,还要求你的代码长度和运行时间,所以要去研究别人的代码为什么比你短,运行时间为什么比你少。这样你才能有更大的进步。 要了解一些头文件的用处:

1、设定插入点

2、 字符处理

3、错误报告

4、浮点数处理

5、 定义与实现相关的各种极限值

6、定义本地化函数

7、 数学函数库使用的各种定义

8、 支持非局部跳转

9、 定义信号值

10、 支持可变长度的变元列表

11、 定义常用常数

12、 支持文件输入和输出

13、定义杂项函数及内存分配函数

14、字符串函数处理函数

15、 支持系统时间函数

16、 支持复数算法

17、给出对浮点状态标记和浮点环境的其他方面的访问

18、 定义标准的、可移植的整型类型集合。也支持处理最大宽度整数的函数

19、用于定义对应各种运算符的宏

20、布尔数据类型类型。

21、 标准的、可移植的整型类型集合。该文件包含在中

22、 一般类型的浮点宏

23、用于多字节和宽字节函数

24、用于多字节和宽字节分类函数

25、 文件输入和输出

26、 参数化输入和输出

27、 数据流输入和输出

C语言中要用到的头文件我基本上都已经总结出来了,要掌握经常用到的头文件(、、、、、),不经常用到的要知道有这样一个头文件存在。如果真的要用到你能在网上查的到就够了。

我们现在用的编译器都是Microsoft Visual C++ 6.0,关于编程的时候还有一些小问题要注意:

1、 拼写单词的时候要注意,还要注意单词的大小写。

2、 一些符号要注意,不要把“==”写成赋值符号“=”,还有分号不要漏写。这是我经常犯的错误。

3、 oj上编辑器的问题,有写题目用C++超时,用G++却神速无比,有时候又反过来,所以一些题目不妨用两个编辑器都交一下。又比如说一些涉及精度的题只有用C++交才能提交。

4、 还应该注意题目的要求,它要你用int,你就别用double或者float这样你都是不能提交正确的。

在实验室一个学期,真的收获了很多,不管是人际关系还是学到的知识。在实验室认识了很多各方面的精英。在实验室尽管ACM没人教你,你花费的时间会

更多。但你自己研究出来的东西会更有价值,让你印象更加深刻。以后到工作岗位上去也一样,你不可能什么问题都问自己的同事,能解决都要自己去解决,实在是解决不了的在再问问别人。希望下个学期能够参加一些程序设计的比赛,锻炼一下自己,使自己能够真正的进步。

自己计划在学期去参加比赛,从学长那边了解到要参加程序设计的经验: 1) 重视团队合作:ACM的灵魂在于算法以及团队合作,没有了团队合作,除非有超强的个人能力,否则是很难取得很好的成绩的,在很多情况下,一个人出错的概率远远超过2个人以上一起做题,而在比赛中,出一点小错和一次成功YES的区别是非常大的,不只有罚时,更是心理上的区别,所以保证良好的团队合作,对比赛是至关重要的,在我自己的比赛中,两次的比赛,一次合作的好,一次合作的乱,直接导致了金和铜的区别。

2) 平时做好准备:在赛后颁奖的时候,亚洲区负责人黄金雄教授曾说,在地区赛中,要取得一个金牌,至少需要1000个题目的积累,银牌也需要500个,可见练习是ACM里非常重要的一个环节,很多小问题,不错过并自己改正过,是很难在比赛中发挥出来的。而那些能走的世界舞台甚至拿下前几名的选手,都曾经作过2000以上甚至3000个题目,当然,题目的数量不能代表一切,质量也很重要,各种类型都做,难题,中等题混着做,对实力的进展有很大的帮助。同时,一般高手都会有属于自己的库,可以是交流来的别人写的,也可以是自己写的,一般提议自己写过,不过需要多次验证正确性,如果采用别人的,肯定正确的代码,必须先仔细的看明白,才能在比赛中能够用上,做点小修改等等。

3) 赛前调整好心理状态:在比赛前,如何调整好心理状态,睡眠不足,过度兴奋,是比赛中非常忌的事。对于我本人,这方面存在着比较大的问题,赛前无法入睡,有类似情况的话,比赛时应该用点西洋参等提神的物品来弥补上精神不足的问题,吉林时,比赛前2天我都没能入睡,多亏了赛前集训队老师的西洋参,使得比赛中保持了一定的状态,到最后,头非常晕的情况下还能写出代码。

4) 比赛时候注意细节:在比赛中,边界数据,数据范围等等同样重要,同时,注意别人的比赛情况,不要只管自己做,多注意别人做出了什么问题,并加以参考。

5) 比赛的时候注意状态调整:比赛时,人是非常累的,同时,不能补充上午饭是非常大的一个身体考验,所以,ACM中,不只是比的能力,也很考虑身体素质,如何把自己的状态调整好,发挥出比较好的势力很有讲究,晕了吃点巧克力(不要是饭,面包等很需要消化的东西),多洗洗脸,可以让人尽可能的保持在清醒状态。

6) 训练好的心理素质:ACM比赛中,成绩好的一定是高手,成绩差的却不一定都实力不够,即使有非常好的实力,比赛中失利也是非常正常的事,如何调整好赛后心情,虽然有时候对比赛已经没有影响,却比比赛本身更为重要。

还有在下学期开始学习一些网页制作;俗话说:不能把所有的鸡蛋放在一篮子里。作为一个大学生应该了解更多的东西,这样你就业的机会就会比别人多。

这样就不愁找不到工作。

计划: 先学一学HTML,找本自己能看懂的教材,浏览为主,不用记住所有的概念,把使用原理记住,然后用学CSS,方法同上;进而再花些时间了解一下javascript。 然后就可以用记事本尝试写几个网页。同学告诉我“写网页”的捷径,就是上各大网站,把网页保存下来,然后打开保存下来的网页,点击右键→查看源文件,看看人家的网页是怎么写的,然后模仿他们的写法,不断规范自己的代码。

接下来该学一下Fireworks了,到网上找一些详细的实例教程,跟着它一步一步做下来,每学会一个实例就掌握了几项操作,慢慢的就会有自己的作品,很有成就感的,长期积累下来对自己的提高很有帮助。学Fireworks主要是学图片处理,比如加一些效果,还有很重要的就是切图。这时结合Dreamweaver进行学习,利用这些工具多做几个网页,就可以达到一定水平了。

上一篇:桃花心木教案范文下一篇:澳洲186移民范文