发布网友
共5个回答
热心网友
1、在Sheet2!工作表先做一个清单对应表;A1输入1234567,B1输入宇宙牌香烟,A2,B2继续输入别的对应关系;
2、Sheet1!是你的工作表,A列是产品流水号,B1输入公式:=VLOOKUP(LEFT(A1,9)/1,sheet2!$A$1:$B$30,2,false),下拉。
还有别的方法可用,比如:INDEX与MATCH的嵌套使用;或CHOOSE与MATCH的嵌套使用;或OFFSET与MATCH的嵌套使用都可以实现这个功能。
你如果要在中文的型号后还要带产品流水号,也可以用你自己的公式,只不过要改成数组公式,输入:=substitute(A1,sheet2!A:A,sheet2!B:B),CTRL+SHIFT+ENTER,下拉
热心网友
你说的首位为0和科学记数法问题,你只要把某列,比如A列,设置,右键,单元格格式,文本,确定
这样你复制进来的产品信息就可以完整显示了。
第二和第三个问题其实是一个。
20多个不多啊。
你可以如下操作
sheet1表A列行所有9位的代码
B列同行输入此代码对应的产品名称
然后,你把sheet2表A列做单元格格式文本操作。
然后B1输入
=if(a1="","",vlookup(left(a1,9),sheet1!A:B,2,0))
下拉填充。
这样,即可
热心网友
如果有20多个判断,那样你的表达式太长了,不方便维护。
建议你建一个宏(通过“工具-宏-VISUAL BASIC 编辑器”菜单),在宏中进行判断实现,这样可读性要好,今后扩展维护也方便。
比如定义以下函数zhValue:
参数:r:为单元格
Function zhValue(ByVal r As Range) As String
Dim s10 As String
Dim sReturn As String
s10 = Left(r.Text, 10)
Select Case s10
Case "1234567"
sReturn = "宇宙牌香烟"
Case "3333333"
sReturn = "下蛋公鸡"
End Select
zhValue = sReturn
End Function
使用方法:在B1中输入公式: =zhValue(A1)
这样就可以了。追问谢谢 uwsoft,我很想用你的方法,不过我试了一下你的函数,好像不能用。我对VB七窍通了六窍,无奈啊,其他的朋友的回答也很好,不过我更倾向于您的回答。我的Office版本是2007的
热心网友
建议你首先将型号清单在sheet2中列出来,然后在本表中用函数 = vlookup(left(a2,9),sheet2!a:b,2,false)来显示
至于解决前后的0的问题,可以用 d2 = left(a2,len(a2)-1) 去右边的
然后用 e2= right(d2,len(d2)-1) 再去左边的
热心网友
1、扫描时生成的数据一定要先保存为文本,一旦不是文本后7位都是0了,恢复不过来
2、3问解答:
建立一个小对应关系表在E、F列,E列为前9位编码,F列为产品
然后使用left函数取数即可,比如说A1为1234567201101100001
B1取数公式可以写=vlookup(lfet(a1,9),e:f,2,0)下拉即可