excel数据处理求助

发布网友

我来回答

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)下拉即可

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com