这两天在规模的导入数据使用了几个函数大大提高效率
execl 表格中多对多的关系,拆分到数据库里是一对一的关系
如下表中产品对应服务21条数据,产品对应渠道1条数据,产品对应流程35条数据,总共就是57条数据,
如果产品有上千个,服务流程都有上千个, 数据量就超过100W了,就需要下面的函数帮助
第一个函数
=VLOOKUP(D121,产品类型ID表!$A 1 : 1: 1:B$47,2,FALSE)
含义 在产品产品类型ID表的A1到B47精确匹配本sheet的D121的内容,并把类型ID表第二列的内容带入本表格。
A1 --> $A$1 表示绝对路径
通过上述函数把下表中的B41的内容带入了上表的E2
不知道是的WPS版本有问题,还是咋的,上表 和下表 classify_id和产品分类名称 都是相邻的结构才能匹配上。
升级版多条件匹配
=XLOOKUP(C2&D2,sc_important_channel!$A 1 : 1: 1:AKaTeX parse error: Expected 'EOF', got '&' at position 4: 353&̲sc_important_ch…B 1 : 1: 1:B 353 , s c i m p o r t a n t c h a n n e l ! 353,sc_important_channel! 353,scimportantchannel!C 1 : 1: 1:C$353,0,0,1)
第二个函数
=COUNTIF($E 2 : 2: 2:E$537,E2)
含义 统计e2到E537中,E2出现的次数。
第三个函数
用之前我把C2的内容加上了–分隔符
=REPT(C2,E2)
含义把C2的内容合并7次
第四个函数
=(LEN(C2)-LEN(SUBSTITUTE(C2,"–",)))/2
统计C2中–出现的次数。
第五个函数
整成这样的格式,
mvn 批量上传 JAR和pom
截取 某个字符后的字符串
=TRIM(RIGHT(SUBSTITUTE(A2,"",REPT(" ",LEN(A2))),LEN(A2)))
第一步先 获取 name
=TRIM(RIGHT(SUBSTITUTE(A2,"",REPT(" “,LEN(A2))),LEN(A2)))
第二步 获取版本号
=LEFT(TRIM(RIGHT(SUBSTITUTE(A2,”",REPT(" “,LEN(A2))),2LEN(A2))),LEN(TRIM(RIGHT(SUBSTITUTE(A2,"",REPT(" ",LEN(A2))),2LEN(A2))))-LEN(TRIM(RIGHT(SUBSTITUTE(A2,”",REPT(" ",LEN(A2))),LEN(A2)))))
第三步获取artifactID
=LEFT(B2,LEN(B2)-LEN(E2)-4)
第四步获取 groupId
=SUBSTITUTE(MID(LEFT(A2,LEN(A2)-LEN(B2)-LEN(D2)-LEN(E2)-2),15,99),"",".")
注意这里15是指 “D:\repository\” 14个字符+1 99 是指取D:\repository\ 后所有字符,详情看推导过程
然后分别导入 notepad
运行 替换
移除空行,就成了我们要的数据,安装数据库的结构,拼装,然后导入库。
把几个操作录制成宏,一键整形数据,