一、如何将身份证号复制到每个表格中?
1.打开包含有员工身份证号码的EXCEL表格;
2.选中身份证数据区域,切换到“数据”选项卡,点击“分列”命令项;
3.打开了“文本分列向导-第一步”窗口,选择“固定宽度”单选框,点击“下一步”按钮;
4.打开了“文本分列向导-第二步”窗口,依次点击标尺上1间距刻度,自动会生成一条分列线,设置完成后点击“下一步”按钮;
5.打开了“文本分列向导-第三步”窗口,设置分列的目标区域,此处设置为C2单元格,并点击“完成”按钮。
二、身份证号及出生年月的相关函数
1.从身份证号提取出生年月日
=TEXT(MID(F4,7,8),"00-00-00"); //f4代表身份证号,修改年月日格式 ,2025-01-01
=DATE(MID(B3,7,VLOOKUP(LEN(B3),{15,2;18,4},2,0)),MID(B3,VLOOKUP(LEN(B3),{15,9;18,11},2,0),2),MID(B3,VLOOKUP(LEN(B3),{15,11;18,13},2,0),2)); //2025/01/01
2.身份证号提取年龄,精确到日
=DATEDIF(TEXT(MID(F3,7,8),"00-00-00"),TODAY(),"y") ; //f3代表身份证号
=IFS(LEN(B3)=15,DATEDIF(TEXT("19"&MID(B3,7,6),"0-00-00"),TODAY(),"y"),LEN(B3)=18,DATEDIF(TEXT(MID(B3,7,8),"0-00-00"),TODAY(),"y"),TRUE,"身份证错误")
3.替换年月日的格式 =SUBSTITUTE(A3,"-",".");//a3代表年月日,1993-12-17
4.带小数点的出生年月计算年龄:=DATEDIF(REPLACE(D5,5,1,"/"),TODAY(),"y")
三、不规则的合并列添加序号
1.选中区域,输入“=COUNTA($B$2:B2)”,点击(ctrl+enter),完成。//b2代表的是有合并行的列,计算合并个数。
四、遍历两张表的某一列,对相同值的单元格进行操作
(一)Excel操作方法
Sub demo()
Dim i As Integer
Dim j As Integer
For i = 3 To 812
For j = 4 To 118
If Sheets("sheet2").Cells(i, 10) = Sheets("Sheet1").Cells(j, 6) Then
Sheets("sheet2").Cells(i, 16) = Sheets("Sheet1").Cells(j, 8)
End If
Next j
Next i
End Sub
(二)WPS操作方法
function aa(){
var a1={sheetName:"a",startNum:3,length:131,commonL:"B",assign:"F",assignV:"E"}
var b1={sheetName:"b",startNum:2,length:130,commonL:"B",assign:"C",assignV:"D"}
for(var i=a1.startNum; i<=a1.length; i++){
for(var j=b1.startNum; j<=b1.length; j++){
var reg = /[\t\r\f\n\s]*/g;
var a=Sheets.Item(a1.sheetName).Range(a1.commonL+i).Value2;
var b=Sheets.Item(b1.sheetName).Range(b1.commonL+j).Value2;
if (typeof a === 'string') {
a = a.replace(reg,'');
}
if (typeof b === 'string') {
b = b.replace(reg,'');
}
if(a==b){
Sheets.Item(a1.sheetName).Range(a1.assign+i).Value2=Sheets.Item(b1.sheetName).Range(b1.assign+j).Value2;
Sheets.Item(a1.sheetName).Range(a1.assignV+i).Value2="1";
Sheets.Item(b1.sheetName).Range(b1.assignV+j).Value2="1";
}
}
}
}
注意:文本格式不能识别函数,只有常规格式才可以识别函数,需要将表格格式设置为常规,方可使用函数;