java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)

基层工作,常有“办文”“办表”两大内容,许多工作常是重复性的(尤其是操作表格),这就可以利用技巧来提高效率,总结了一些小技巧分享给大家以少加班,本文会不定时更新。

本文极长极基础,适合一步一步对着做。

文章概要

Word

  1. 批量排版及自动生成目录
  2. 多级标题自动编号(及编号变竖线修复)
  3. 批量换行(或批量删除空行)
  4. 图片显示不全

Excel

  1. 批量填充(给1000行数据添加序号如何点两下搞定,如何快捷提取1000人的出生日期Ctrl+E)
  2. 高级查找(想要查找字体为宋体的单元格,查找王X华,第二个字不确定怎么办)
  3. 定位条件(如何批量删除为空的单元格,数据筛选后不满足条件的也会被复制怎么办)
  4. F4(提高效率,一键重复上一步操作;格式下拉时有时想行不变有时想列不变,那就F4修改单元格引用方式)
  5. 排版打印(批量自适应行高列宽,轻松玩转Excel打印,避免重复录入标题,VBA在指定单元格添加分页符)
  6. 批量在指定位置插入分页符,批量分页
  7. 批量在指定位置插入复制的行
  8. 逻辑判断IF函数(B列输入内容则A列便自动添加递增序号;批量给每一户家庭成员添加序号,不同家庭序号重新从1开始;想对比一列数据的内容在另一列是否出现过;根据身份证号码批量识别性别)
  9. 求和函数(累计求和,单条件求和sumif,多条件求和(sumifs、sum结合数组),衍生:根据身份证计算年龄)
  10. vlookup函数(查找匹配信息,批量按照一人一页制表),一户一页批量制表(将家庭户成员信息批量填入统一样表,一户一页)
  11. 数据透视表
  12. Excel插件链接

第一章

办文 Word技巧

  • 大批量内容排版,自动生成目录

解决办法:利用样式进行,将每一类的样式先设置好(字体、段落),之后选中段落设置样式

《党政机关公文格式》(GB/T 9704—2012)模板格式见文末链接

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第1张图片

还可利用定义新的多级列表来实现多级标题的自动编号

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第2张图片

选中段落,再点击上方样式来为段落设置样式,可见已自动生成编号(一)、(二)... ... 。

其中用到F4重复上一步,注意排版后左侧导航栏已生成级别

补充:word标题多级自动编号前变成黑色竖线的修复办法

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第3张图片

解决办法:

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第4张图片
利用宏代码“(一)”这一级标题已修复

1.点击菜单栏“视图”,

2.找到“宏“选项卡,点击后弹出下拉选项中选择”查看宏“

3.弹出的窗口中输入”宏名(例如repair)“,然后点击”创建“,将上面那段宏代码复制粘贴进去。

4.在工具栏找到”运行宏“图标(向右的三角形),点击一下就可以运行了。

宏代码如下:

Sub repair()
 For Each templ In ActiveDocument.ListTemplates
 For Each lev In templ.ListLevels
 lev.Font.Reset
 Next lev
 Next templ
end sub

当段落设置为已自定义的样式后,在引用-目录中即可自动生成目录,目录的样式也可修改。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第5张图片
对目录的字体和段落进行设置
  • 批量删除空行/多段合并到一段

解决办法:选定需要修改的段落,快捷键Ctrl+H,查找^p替换为空。当然也可以将字符替换为^p来实现批量自动换行。

  • 图片显示不全

解决办法:选中图片,行距调整为单倍行距

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第6张图片

第二章

办表 Excel技巧 —— 基础的4+1技能

基础数据整理时的一句忠告: 基础数据很重要!!!千万不要合并单元格!!!(不便于数据处理),如果想对其分类就增加一列(填不同的类型)。
一条记录就一行,一个字段就一列,比如 一个人用一行来记录ta的信息,字段(一列)有身份证号、户号、与户主关系、村民小组、地址、手机号等等

讲函数前先讲一些基础的操作。

(一)几个快捷操作

1.快速填充

如下图,想要添加递增序号,一是可以选中123在右下角出现黑色+号后向下拖动。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第7张图片

如果行数太多,拖动效率就太低了,可以试试:

(1)双击黑色+号

要求自动生成序号的相邻列必须有内容,且序列到相邻列内容截止时停止。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第8张图片

(2)Ctrl+D(以复制的方式向下(Down)进行填充,Ctrl+R与之类似<向右Right>)

还是上图,比如想得到序号+姓名,如“1彭万里”,利用简单的并联函数=C2&B2(这也是一个简单函数,函数都是以=开头,Excel就知道你要输入函数了)可以实现D2单元格“1彭万里”,之后向下拖动或者选中需要填充的区域后Ctrl+D。按住shift点击左键选中连续的单元格,按住Ctrl点击左键选中点击的单元格。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第9张图片
Ctrl+D 以复制的方式向下填充

Ctrl+E(根据规律填充,Excel最强大快捷键)

仅支持Office2013或以上版本,功能是根据你输入的内容自动联想与左边多列的关系并自动填充,比如上图的合并功能。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第10张图片

根据身份证号批量提取出生日期

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第11张图片
更多Ctrl+E用法大家可以慢慢探索

2.查找替换

普通的Ctrl+F就不说了,这里讲一下如何实现一些特殊查找。

(1)根据单元格格式来查找Ctrl+F后点击右下角选项,设置查找条件,查找黄底色+文本格式的单元格

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第12张图片

(2)模糊查找,知道有一个人名,三个字,叫彭wan里,但是不确定中间是那个wan,可以试试?来代替wan?表示通配符,代表一个字符,英文状态输入

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第13张图片

3.Ctrl+G和F4

(1)Ctrl+G定位条件,可以快速选中满足以下条件的单元格

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第14张图片

以空值为例,快速选中下图出生日期为空的单元格,之后就可以对它们进行操作。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第15张图片

以可见单元格为例,使用数据筛选后,进行复制粘贴时常会把不满足条件的也选中,这时就需要使用Ctrl+G,选中可见单元格,再进行复制。

(2)F4

i 单元格引用锁定(公式拖动时,想要保持某个单元格不变时需要用到引用锁定)

下图,在H2中输入=F2按F4,引用状态在四种中变化,F2、$F$2、F$2、$F2。$F2表示引用单元格时引用F列的,行数会变化。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第16张图片

ii重复上一步

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第17张图片
插入一行,按F4继续上一步,继续插入行

(二)排版/打印

1、双击自适应行高/列宽

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第18张图片
选中之后放在AC列之间,双击十字型按钮,A、B、C三列既自适应列宽,批量自适应行高同理

2、视图-分页视图

分页视图下所见的内容(四条蓝色边界线围合的范围)即打印的范围,在打开此视图之前可先在页面布局中设置纸张大小及方向,通过调整4条边界线即可实现将任意区域打印在一页内

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第19张图片
鼠标置于蓝色边界线,变成双向箭头后,可拖动修改打印范围

如果想某一单元格以下打印在下一页中,只需在本单元格插入分页符即可。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第20张图片
页面布局-分页符

以上设置的是打印区域,接下来调整打印区域在纸中的位置。

通过调整打印页面的以下参数来控制整个打印区域在一页纸中的位置。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第21张图片

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第22张图片
还可设置页面参数、页眉、页脚等

3、打印标题页

假如我们需要将每一户人员信息打印在一张表,表头都是姓名、身份证、出生日期、姓氏,那么可以通过设置打印标题,避免每一页录入重复表头。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第23张图片
首先按户分页(复习F4重复上一步),设置第一行为标题

补充一个批量添加分页符的VBA代码,判断E列为“户主”即添加分页符。

Sub VBA_AD()
Dim Rng As Range
For Each Rng In Range("E3:E1048576") '从E3到最后一行,可根据实际范围更改,也可使用FOR...NEXT SETP N方式
If Rng.Value = "户主" Then ' 条件
ActiveSheet.HPageBreaks.Add Rng '/添加分页符
End If
Next
End Sub

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第24张图片
每户一页,每一页均带表头

衍生!!!

批量在指定单元格插入复制的行 VBA代码,可间接实现打印中的打印底端标题行操作。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第25张图片
前三行需批量插入,插入的位置为A列单元格值为1的行
Sub ADD_ROW()
For i = 8 To 1048576 '起止行数
If Range("A" & i).Value = "1" Then '判断区域为A列
Rows("1" & ":" & "3").Select '选择第一至三行,即需要批量插入的行
Selection.Copy
Rows(i).Select
Selection.Insert Shift:=xlDown ', CopyOrigin:=xlFormatFromLeftOrAbove
i = i + 3 '批量插入n行,则改为i=i+n
End If
Next
End Sub

(三)4+1 Excel技能

4个函数IF、SUM、SUMIF、VLOOKUP,1个数据透视表技能

所谓函数,只要知道它会返回一个东西,至于是什么取决于选择什么函数,函数又决定了使用什么参数
Excel中 函数都是以“=”开始,这样Excel便知道你要使用函数而不是录入常规的数据,当 录入函数后回车无反应时记得检查单元格格式是否为非文本
注意:函数中的所有参数均需在英文状态输入!!!

——这段话仅针对纯新手,其他请忽略

1、IF函数

IF函数是一个最基础的逻辑判断,语法:“=IF(判断条件,结果1,结果2)”,即如果满足“判断条件”则返回“结果1”,如果不满足“判断条件”则返回“结果2”

(1)下面利用IF函数找出在1996年以后出生的人员

=IF(YEAR(H2)>=1996,"是","否")

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第26张图片
其中YEAR(A2)返回A2日期的年份

根据身份证号码批量识别性别 =IF(MOD(MID(C2,17,1),2)=0,"女","男")

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第27张图片
MID函数提取身份证号码的第17位,MOD(被除数,除数)计算余数(除数为2,余数为0或1)来判断第17位的奇偶性

(2)利用IF函数来自动编号,实际工作中就碰见“一开始给数据拉好序号,但由于过程中删减了行,但忘记重新拉序号,导致最后总数和总序号对不上,许多工作又白干还浪费打印的纸”。对B列利用IF函数来判断C列是否为空,不为空就返回序号,如此便实现自动编号(C列输入内容B列就自动递增序号)。

=IF(C2>0,ROW(B2)-1,"")

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第28张图片
ROW(B2)表示返回B2的行数,由于第一行为标题所以要减1,“”表示if判断不成立就为空。

补充!!!

按不同类别批量添加递增编号,同一类别下序号递增,不同类别序号重新从1开始递增

应用实例:居民家庭户,批量给每户内添加递增序号

=countif($B$2:B2,B2)

$B$2:B2表示下拉公式时,选中区域始终为B2至当前单元格

COUNTIF 是一个统计函数,用于统计满足某个条件的单元格的数量。COUNTIF 的最简形式为:=COUNTIF(要检查的区域, 要查找的内容)

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第29张图片
基本思路为:统计本行及以上行,本行B列 值的个数

(3)利用IF的嵌套还可以实现多重条件判断,=IF(A1<60,"不及格",IF(A1<80,"良好","优秀")),即:

A1<60,"不及格"

60

A1>80,"优秀"

辅之以AND、OR函数可进行多条件并列判断,=IF(AND(A1>60,B1<100),"合格","不合格")

注:and()表示括号内的多个条件要同时成立,or()表示括号内的多个条件任一个成立

(4)衍生用法 查找对比一列的内容在另一列中是否出现过

应用实例:有一个村民小组的人员信息以及非农业人口的信息,想查找对比这些村民哪些属于非农。

=IF(COUNTIF(F:F,C2&"*"),"非农","") (函数内需要返回文本时需要用"")

C2&"*"表示将C2强制识别为文本,对于身份证号码若不加入&"*"会出现误判,将340111195509176013和340111195510205026识别为相同,加入&"*"后需内容完全一致才返回一致。

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第30张图片
COUNTIF 是一个统计函数,用于统计满足某个条件的单元格的数量。COUNTIF 的最简形式为:=COUNTIF(要检查哪些区域, 要查找哪些内容)

IF函数是最基础的逻辑判断,通过与其他函数的配合或自身的嵌套可以实现复杂逻辑判断,即通常说的查找满足条件的区域/单元格。

应当注意的是:IF函数判断后返回的不只是值,还可以根据条件返回区域引用。如:=VLOOKUP(A1,IF(B1=1,C:D,F:G),2,0)

更多IF函数用法可以参考下面的链接:

玩转初级会计:IF函数的所有公式(入门+进阶+高级)​zhuanlan.zhihu.com
java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第31张图片

2、SUM函数

SUM,求和函数,语法:“=SUM(number1,[number2],...)”,number表示要相加的数字,也可以选中一片区域。

(1)常规的求和,输入函数名选取区域即可

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第32张图片

(2)SUM函数结合数组来进行多条件求和

=SUM((H7=C1:E1)*(B2:B13=G7)*C2:E:13),数组公式结束时切记以Ctrl+shift+enter结束

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第33张图片

下面将数组的运算过程拆分一下,以便理解。H7为英文,则(H7=C1:E1)即为(0,0,1);G7为1班,则(B2:B13=G7)为(1,0,0,1,0,0,1,0,0)此处为列,数组运算结果如下:

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第34张图片
其中用到F4,调整引用状态为绝对引用

更多SUM函数用法可以参考下面的链接:

Excel函数公式:Excel函数公式:含金量超高的SUM函数7大实用技巧解读​zhuanlan.zhihu.com
java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第35张图片

3、SUMIF

(1)SUMIF,对 范围 中符合指定条件的值求和。 例如,如果某列中含有数字,你只需对大于 5 的数值求和。 可使用以下公式:=SUMIF(B2:B25,">5")

=SUMIF(判断区域,判断条件,求和区域)

年龄50岁以上人员 土地租金和为例, =SUMIF(D2:D14,">50",F2:F14)

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第36张图片

(2)SUMIFS 函数,SUMIF的加强版,用于计算满足多个条件的全部参数的总量。

SUMIFS(需求和的单元格区域,使用判断条件1的区域, 判断条件1, [使用判断条件2的区域, 判断条件2], ...)

注意与sumif的区别,sumifs把求和区域放到第一个参数!!!

年龄89岁的非农人员 土地租金和

根据身份证号码提取年龄

=YEAR(NOW())-MID(C2,7,4)+1

(YEAR(NOW())提取当前日期的年份,截取身份证号码中从第7位开始的4位数即出生年份)

提取年龄后,计算89岁非农人员的土地租金和。

=SUMIFS(G2:G14,E2:E14,89,F2:F14,"非农")

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第37张图片

4、VLOOKUP

一个按列纵向查找函数,与LOOKUP、HLOOKUP为一类,应用极广泛。

=VLOOKUP(要查找的值,要查找的区域,返回数据在查找区域的第几列数,模糊匹配/精确匹配)

要求:要查找的值在查找区域的第一列!!!(下例中,查找区域中,身份证号码需在第一列

根据身份证号查找户口性质(还在一个一个找吗?VLOOKUP可以一键搞定),绿色区域是身份证号和户口性质全部数据,类似于在一个完整的库里面找部分人员的信息。

=VLOOKUP(E2,L:M,2,0)

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第38张图片
WPS中输入函数时,参数有汉字提示,降低使用难度

衍生功能!!!

(1)批量制表,一人一页

适用范围:表头表尾固定不变、一张表只填入一个人信息(一行信息)(一表填入多人信息见下)

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第39张图片
左边绿色区域是数据源,右边是需要批量填写的表格样式

思路:借助Q辅助列,在Q3输入1;在A-G列查找序号为Q列值来填入第一行数据,形成第一个表(第一行数据填入样表)之后选中整个表,之后下拉Q列生成递增序号1,2,3. 刚好对应查找序号1,2,3;之后调整一下打印边界即实现一人信息录入一表,通过批量插入分页符进一步实现一表一页

(2)批量制表,一户一页

shoesblockd:批量制表,一户家庭一表(一页)​zhuanlan.zhihu.com
java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第40张图片

5、1个数据透视表技能

功能:数据统计分析

选中数据-点击插入 数据透视表-选中放置数据透视表的位置

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第41张图片

位置选择现有工作表:Q1,插入结果如下图所示

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第42张图片

第一行自动识别为数据透视表字段

鼠标左键选中某一字段,按住不放拖动到行或是列,左边数据透视表便自动生成了统计结果

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第43张图片
统计每个名字出现的次数

将字段拖入列时,这样就可以统计满足两类条件的值

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第44张图片

值可选择的计算类型有以下几种,单击计数项-值字段设置可改变统计类型

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第45张图片

衍生功能:统计一列中数据类型种数(实例:根据户号的不同计算有多少户数)

(1)数据透视表:选中户号列、插入数据透视表、把户口字段拖入行位置再拖入值位置、选中数据透视表行标签列,由此便有统计结果

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第46张图片
统计户号共1,2,3,4四种类型,即四户

(2)函数

=SUMPRODUCT(1/COUNTIF(被统计范围,被统计范围&""))

此为数组,以Ctrl+Shift+Enter结束

此函数对CPU要求高,计算量大,数据量大容易死机!!!

&"":增加次为了将数据强制识别为文本,避免出错

留意此统计结果,空单元格也算一种类型

(3)数据展示

  1. 选中数据透视表结果,插入图表
  2. 选中数据透视表结果,插入切片器(选择切片器)

java如何代码识别excel单元格 删除线_WORD、EXCEL实用技巧(基层实践篇)_第47张图片
柱状图横坐标为村名小组,纵坐标为人数,切片中改变户口性质、性别、户主关系,村名小组-人数的柱状图便自动更新

工欲善其事必先利其器

公文模板及两个Excel插件(EasyCharts图表制作插件方方格子工具箱)链接

链接:https://pan.baidu.com/s/1I_6JPm4_d6bHA8GRDzxLZQ

提取码:hhtq

你可能感兴趣的:(删除线)