如何在Excel表格中将系统导出的部门的代码,用公式或者vba转换成文字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Excel表格中将系统导出的部门的代码,用公式或者vba转换成文字?相关的知识,希望对你有一定的参考价值。

我们公司的部门在系统中是由代码体现的,现在把它倒出来还是代码。要知道是哪个部门只能通过部门代码表一个个的更改,很麻烦。可不可以利用一个公式或者vba代码将所有的部门和它的代码存到公式或者vba数据里面,使用的时候一拖就行了。(公司系统导出来的代码串是文本格式的,所以需要公式和vba能识别文本格式下的单元格数字串)(比如001是销售部,那么001002、001094、001155这类型的都是指销售部)

参考技术A SHEET2工作表中的A2单元格只要写入代码,B2单元格写入公式=VLOOKUP(A2,SHEET1!A:B,2,)

回车,就能得出要的内容了。

如果A列还有其他的条件码要转换,只要下拉复制公式就行了。

如果只想保留这个B列的内容----选中B列----右键-----复制-----再右键-----选择性粘贴----数值---确定后再删去A列----这样新的A列就是要的内容了。
参考技术B 当然可以,用Vlookup()即可完成。
假设sheet1表中A2及以下是导出的代码,B2及以下是部门名称,而表的的H,l两列是部门的代码名称对照表。
在sheet1的B2输入公式Vlookup(left(a2,3),$H$2:$l$21,2)
向下填充公式即可。追问

就是没有电子版的代码对照表。我们老板只给了我一份纸质档的。就这一点很讨厌。

追答

把它录入到表中就是

部门的代码,不会很多。

参考技术C Sub 公式变文本()
Dim endrow, endrow2
endrow = Sheet1.Range("C65536").End(xlUp).Row - 2
endrow2 = endrow - 30

Sheet1.Range("H" & endrow2 & ":H" & endrow).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheet1.Range("A" & endrow + 3).Select

End Sub

Sub 公式变文本2()
Dim endrow, endrow2
endrow = Sheet1.Range("C65536").End(xlUp).Row - 2
endrow2 = endrow - 30

Sheet1.Range("R" & endrow2 & ":R" & endrow).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheet1.Range("A" & endrow + 3).Select

End Sub
参考技术D 利用通配符查找的方式你试试。例如 001* 就代表001开头后面任意长度都允许的内容。所以你只要在部门这一栏进行查找与替换就行追问

您的意思是说,在代码的那一列用替换,不管是多长的,只要开头是001都能被替换掉是吗?但是我的部门不止一两个,有二三十个部门的,我每次在系统里面导出的表也不一样。难道每次都要我去替换吗?

以上是关于如何在Excel表格中将系统导出的部门的代码,用公式或者vba转换成文字?的主要内容,如果未能解决你的问题,请参考以下文章

java中把列表用流生成了Excel表格中的时间显示问题

Laravel5.4中将数据表中数据导出excel表格

excel表格如何导出

如何导出excel表格?

vue项目中如何把表格导出excel表格

通过EXCEL VBA 连接SAP系统后,导出打开的电子表格文件另存(不是系统自带的导出EXCEL表)