如何在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转换成文字?的主要内容,如果未能解决你的问题,请参考以下文章