数据库与Excel操作
3. 数据库与Excel操作
3.1 SQL查询 (MySQL/MSSQL)
IPguard相关查询:
- 查在线用户:
SELECT ... FROM AGENT WHERE DATEDIFF(NOW(), AGENT.AGT_ONLINE_TIME)=0 - 查用户组:
SELECT AGENT_GROUP.AGT_GRP_NAME FROM AGENT_GROUP
- 查在线用户:
Active Directory相关查询:
- 查重复工号:
SELECT * FROM AD WHERE Description IN (SELECT Description FROM AD GROUP BY Description HAVING COUNT(*)>1)
- 查重复工号:
钉钉与AD对比:
SELECT * FROM [1011] WHERE [1011].Description NOT IN (SELECT [ding].工号 FROM [ding])- SQL Server 时间同步问题:
MaxPosPhaseCorrection和MaxNegPhaseCorrection注册表项可修改。
3.2 Excel函数与技巧
文本处理:
- 截取特定字符后字符串:
=RIGHT(B5, LEN(B5)-FIND("e\",B5)-1) - 提取最后一个
-后的内容:=MID(B11,-LOOKUP(,-FIND("-",B11,ROW(A:A)))+1,LEN(B11)) - 判断是否为域账号登录:
=IF(ISBLANK(C5),"",IF(ISTEXT(VLOOKUP(...)),"是","否"))
- 截取特定字符后字符串:
单位换算:
- 将TB/GB/MB统一转换为MB:
=IF(RIGHT(C2,2)="TB", SUBSTITUTE(C2,"TB","")*1024^2, IF(RIGHT(C2,2)="GB", SUBSTITUTE(C2,"GB","")*1024, NUMBERVALUE(SUBSTITUTE(C2,"MB","")))) - 字节转GB/TB:
=IF(B2/1024^4<1, ROUND(B2/1024^3,1)&"GB", ROUND(B2/1024^4,1)&"TB")
- 将TB/GB/MB统一转换为MB:
日期处理:
- 格式化日期:
=IF(ISNUMBER(FIND("月",H2)), RIGHT(H2,4)&"年"&MID(H2,4,3), "20"&RIGHT(H2,2)&"年"&VLOOKUP(...))
- 格式化日期:
VBA宏:
- 合并所有工作表:
Sub 合并当前工作簿下的所有工作表() - 另存每个工作表为独立文件:
Sub SaveSheetAsWorkbook()
- 合并所有工作表: