-- Excel与wps的表格常用处理-函数与脚本生成
【官网】:https://www.wps.cn/
应用场景
对于excel或wps表格数据,有时要基于数据根据函数计算一些值,或者批量生成一些脚本。基础资源
excel或wps客户端已安装
使用须知
一般excel的文件,wps的操作都是兼容的,也能打开excel。因此本文就以wps为主。
配置步骤
【1.利用wps或excel的系统求和函数来求和】
step1)选中一个单元格用于存储求和的结果,然后选择求和函数.
step2)拖动选择待求和的单元格.
step3)按下回车,即可得到求和结果.
【2.利用自定义的函数来求和】
step1)选择一个单元格,单击,输入: =A5+B5 (注:A5指A列的第5行).
step2)写完自定义函数后,按下回车键,得到结果.
【3.利用脚本模式来批量生成脚本】
目标生成:
insert into tb_user(username,tel,usertype) values(‘u001‘,‘15900100020‘,‘1‘); |
step1)写入公式:
="insert into tb_user(username,tel,usertype) values(‘"&A15&"‘,‘"&B15&"‘,‘"&C15&"‘);"
如图:
回车
step2)选中公式,往同列其它行拖动即可生成。
常见问题
快速入门
常用的EXCEL的公式
1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复",")。
2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,"2008/8/25“,FALSE))/360,O)/。
3、从输人的18位身份证号的出生年月计算公式:
=CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID
(E2,13,2))。
4、从输人的身份证号码内让系统自动提取性别,可以输入以下公式:
=IF(LEN(C2)=15,lF(MOD(MID(C2,15,1),2)=1,"男","女"),
IF(MOD(MID(C2,17,1),2)=1,"男","女"))公式内的“C2"代表的是输人身份证号码的单元格。
1、求和:=SUM(K2:K56)——对K2到K56这一区域进行求和;
2、平均数:=AVERAGE(K2:K56)一一一对K56这一区域求平均数;
3、排名:=RANK(K2,K$2:K$56)一一一对55名学生的成绩进行排名;
4、等级:=IF(K2>=85,“优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格")))
5、学期总评:=K2*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)=COUNTlF(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)=COUNTlF(K2:K56,“<60")一一求K2到K56区域60分以下的人数;假设把结果存放于K63单元格;
说明:COUNTIF函数也可计算某一区域男、女生人数
如:=COUNTIF(C2:C351,“男")一一求C2到C351区域(共350人)男性人数;
9、优秀率:=SUM(K57:K60)/55*100
10、及格率:=SUM(K57:K62)/55*100
11、标准差:=STDEV(K2:K56)一一求K2到K56区域(55人)的成绩波动情况(数值越小,说明该班学生间的成绩差异较小,反之,说明该班存在两极分化);
12、条件求和:=SUMlF(B2:B56,"男",K2:K56)一一假设B列存放学生的性别,K列存放学生的分数,则此函数返回的结果表示求该班男生的成绩之和;
13、多条件求和:{=SUM(lF(C3:C322="男",IF(G3:G322=1,1,0)))}一一假设c列(C3:322区域)存放学生的性别,G列(G3:G322区域)存放学生所在班级代码(1、2、3、4、5),则此函数返回的结果表示求一班的男生人数;这是一个数组函数,输完后要按Ctrl+Sh+Enter组合键(产生"{}"‘)。"{}"不能手工输人,只能用组合键产生。
14、根据出生日期自动计算周:=TRUNC((DAYS360(D3,NOW()))/360,0)
一一假设D列存放学生的出生日期,E列输人该函数后则产生该生的周岁。
问一:Excel中当某一单元格符合特定条件,如何在另一单元格显示特定的颜色
AI>1时,CI显示红色
0<AI<1时,C1显示绿色
A1<0时,C1显示黄色
方法如下:
1、单元击C1单元格,点"格式">"条件格式",
条件1设为:公式=A1=1
2、点"格式"->"字体"->"颜色",点击红色后"确定"。
条件2设为:公式=AND(A1>O,A1<1)
3、点“格式"->"字体"->"颜色",点击绿色后"确定"。
条件3设为:公式=A1<0
点“格式”->“字体”->“颜色”,点击黄色后点“确定”。
4、三个条件设定好后,点“确定”即出。
问二:EXCEL中如何控制每列数据的长度并避免重复录人
1、用数据有效性定义数据长度
用鼠标选定你要输入的数据范围,点“数据"->"有效性"->“设置“,"有效性条件"设成"允许""文本长度""等于""5"(具体条件可根据你的需要改变)。
还可以定义一些提示信息、出错警告信息和是否打开中文输人法等,定义好后点"确定"。
2、用条件格式避免重复
选定A列,点"格式"->"条件格式",将条件设成"公式
=COUNTIF($A:$A,$A1)>1",“格式"->"字体"->"颜色",选定红色后点两次"确定"。
这样设定好后你输人数据如果长度不对会有提示,如果数据重复字体将会变成红色。
问三:在EXCEL中如何把B列与A列不同之处标识出来?
1、如果是要求A、B两列的同一行数据相比较:
假定第一行为表头,单击A2单元格,点"格式"->"条件格式",将条件设为:
"单元格数值",“不等于"=B2点“格式”->"字体"->"颜色",选中红色,点两次"确定"。
用格式刷将A2单元格的条件格式向下复制。B列可参照此方法设置。
2、如果是A列与B列整体比较(即相同数据不在同一行):
假定第一行为表头,单击A2单元格,点"格式"->"条件格式"将条件设为:
“公式=COUNTIF($B:$B,$A2)=0
占"格式",->"字体",->"颜色",选中红色,点两次"确定"。
用格式刷将A2单元格的条件格式向下复制。B列可参照此方法设置,按以上方法设置后,
AB列均有的数据不着色,A列有B列无或者B列有A列无的数据标记为红色字体。
问四:EXCEL中怎样批量地处理按行排序
假定有大量的数据(数值),需要将每一行按从大到小排序,如何操作?
由于按行排序与按列排序都是只能有一个主关键字,主关字相同时才能按次关键字排序。
所以,这一问题不能用排序来解决。解决方法如下:
假定你的数据在A至E列,请在FI单元格输人公式:
=LARGE($A1:SE1,COLUMN(A1))
用填充柄将公式向右向下复制到相应范围。
你原有数据将按行从大到小排序出现在F至J列。如有需要可用“选择性粘贴/数值”复制到
其他地方。
注:第1步的公式可根据你的实际情况(数据范围)作相应的修改。如果要从小到大排序,
公式改为:=SMALL($A1:$E1,COLUMN(A1))
问五:巧用函数组合进行多条件的计数统计
例:第一行为表头,A列是“名”,B列是“班级”,C列
是、“语文成绩”,D列是“录取结果”,现在要统计“班级”为“二,“语文成绩”大于等于104,
“录取结果”为“重
本"的人数。统计结果存放在本工作表的其他列。
公式如下:
=SUM(lF((B2:B9999="二")*(C2:C9999>=104)*
(D2:D9999="重本"),1,0))
输人完公式后按Ctrl+Shift+Enter键,让它自动加上数组公式符号"{}"
问六:如何判断单元格里是否包含指定文本?
假定对A1单元格进行判断有无“指定文本",以下任一公式均可:
=IF(COUNTIF(A1,"*"&"指定文本"&"*")=1,"有",“无“)
=IF(ISERROR(FIND("指定文本“,A1,1)),"无","有“)
求某一区域内不重复的数据个数
例如求A1:A100范围内不重复数据的个数,某个数重复多次出现只算一个有两种计算方法:
一是利用数组公式:
=SUM(1/COUNTIF(A1:A100,A1:A100))
输人完公式后按Ctrl+Shift+Enter键,让它自动加上数组公式符号用"{}"
二是利用乘积求和函数:
=SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100))
问七:一个工作薄中有许多工作表如何快速整理出一个目录工作表
1、用宏3.0取出各工作表的名称,方法:
Ctrl+F3现自定义名称对框,取名为X,在“引用位置”
框中输人:
=MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,100)
确定
2、用HYPERLINK函数批量插人连接,方法:
在目录工作表(一般为第一个sheet)的A2单元格输人公式:
=HYPERLINK("#‘"&INDEX(X,ROW())&"‘!A1",INDEX(X,ROW()))
将公式向下填充,直到出错为止,目录就生成了。