如何提取excel 表格中包括某一特定供应商所对应的每个数据

已举报 回答 关注
如何提取excel 表格中包括某一特定供应商所对应的每个数据
问在线客服
扫码问在线客服
  • 回答数

    8

  • 浏览数

    5,702

8个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
可以使用EXCEL的VBA功能来实现。
默认楼主截图是第一张表,条码等菜单为第一行,供应商那里为A列
PS:这样要提取的供应商那一列就是J列
按alt+F11进入VBA模式,在左边"thisworkbook"那里右键-插入-模块
在右边的模块中复制下列代码,然后按F5运行即可
Sub test()
Dim i As Integer
Dim k As Integer
i = 2
k = 2
Do While Sheet1.Range("C" + CStr(i)) <> ""
If Sheet1.Range("A" + CStr(i)).Value = "毛" Then
If Sheet1.Range("J" + CStr(k)) = "" Then
Sheet1.Range("J" + CStr(k)) = Sheet1.Range("A" + CStr(i)) '复制供应商
Sheet1.Range("K" + CStr(k)) = Sheet1.Range("B" + CStr(i)) '复制条码
Sheet1.Range("L" + CStr(k)) = Sheet1.Range("C" + CStr(i)) '复制商品名称
Sheet1.Range("M" + CStr(k)) = Sheet1.Range("D" + CStr(i)) '复制进价
Sheet1.Range("N" + CStr(k)) = Sheet1.Range("E" + CStr(i)) '复制数量
Sheet1.Range("O" + CStr(k)) = Sheet1.Range("F" + CStr(i)) '复制合计金额
Sheet1.Range("P" + CStr(k)) = Sheet1.Range("G" + CStr(i)) '复制备注
k = k + 1
End If
End If
i = i + 1
Loop
End Sub
取消 评论
要做两步
1 在E列做公式 E2=CONCATENATE(B2,C2)
2 在对应普瑞合格的单元格做这个公式=COUNTIF(E:E,"普瑞合格")
3在对应普瑞不合格的单元格做这个公式=COUNTIF(E:E,"普瑞不合格")
就这样,其他供应商的也这样做就行了。
取消 评论
假设这3列分别为A列,B列,C列,A1,A2,A3对应的行数分别为1,2,3
则在D列(你要填对应生成数字的列)的C1对应的单元格(D1)中输入:=VLOOKUP(c1,$a$1:$b$3,2,0)
输入后生成C1对应的数字1,在将D1单元格的公式复制到D2,D3
详细请百度VLOOKUP函数
取消 评论
建议在添加辅助列,标注商品属于哪类,这样生鲜类的就比较好找出,计算总金额的时候,剔除生鲜类不算应该就可以了吧,不知道理解的对不对
取消 评论
由于题目中没有表格的数据截图,只好按我这边的举例设定了,如不符合要求的请:

D1公式下拉:
=IF(D1="","",VLOOKUP(D1,A:B,2,))

或者用这公式也行:
=IF(D1="","",INDEX(B:B,MATCH(D1,A:A,)))

我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。

取消 评论
右边表格里,第一个0是G5单元格吗???
G5输入公式
=COUNTIF(B:B,F5)
H5输入公式
=SUMPRODUCT((B$2:B$100=F5)*(C$2:C$100="合格"))

下拉即可
取消 评论
数据-排序,不就行了?
取消 评论
=VLOOKUP(A1,'[新建 Microsoft Excel 工作表.xls]Sheet1'!$A:$B,2,0)
取消 评论
ZOL问答 > 如何提取excel 表格中包括某一特定供应商所对应的每个数据

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?