excel表格中,怎么把多个单元格数据合并并且求和。要求,把同种品名条码的汇总成一列,同种数量求和

条码 品名 规格 单位 库存量
1230 特级锡兰红茶 100克 纸盒 100
1230 特级锡兰红茶 100克 纸盒 80
1230 特级锡兰红茶 100克 纸盒 12
1230 特级锡兰红茶 100克 纸盒 150
2231 优质锡兰红茶 100克 纸盒 80
2231 优质锡兰红茶 100克 纸盒 7
2231 优质锡兰红茶 100克 纸盒 14
2231 优质锡兰红茶 100克 纸盒 75
3239 条型茶-康提锡兰红茶 100克 高罐5
3239 条型茶-康提锡兰红茶 100克 高罐8

方法一:先在条码前插入一栏,在A2单元格=B2&C2,然后把公式变成数值。然后选中A列的内容,在工具栏上选择数据---筛选---高级筛选(勾上“选择不重复的记录”,如果想把筛选去掉的话,就在筛选那里选"全部显示")。然后把筛选后的结果复制到sheet2里,在库存量的F2=SUMPRODUCT((Sheet1!B$2:B$100=B2)*(Sheet1!C$2:C$100=C2)*Sheet1!F$2:F$100)

方法二:2003版本的EXCEL直接在数据---数据透视表---选中所有内容---下一步---下一步--布局---把条码,品名,规格,单位拖到行的框框里,把库存量拖到数据的框框里---完成---从A4的单元格开始复制到最后的内容放到新开的工作表里,用自动筛选在单位那栏选"非空白"---就是你要的内容了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-12
选中整个单元格数据,包括标题行,然后“插入”——“数据透视表”
行标签选择“条码”,数值选择“库存量”
将生成的新表另存后,再插入新一列,根据条码,使用Vlookup函数补充品名

楼上的办法很全面哟~追问

后面那部分插入新一列,根据条码使用Vlookup函数,不大明白哦
1、新一列插入在哪
2任意值、数值、逻辑值该怎么填呢

追答

1、新一列插入到“条码”那一列之后就好
2、这个问题是问vlookup中的参数什么含义么?

语法
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 为需要在表格数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)第一列中查找的数值。Lookup_value 可以为数值或引用。若 lookup_value 小于 table_array 第一列中的最小值,VLOOKUP 返回错误值 #N/A。

Table_array 为两列或多列数据。使用对区域或区域名称的引用。table_array 第一列中的值是由 lookup_value 搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写。

Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。

Range_lookup 为逻辑值,指定希望 VLOOKUP 查找精确的匹配值还是近似匹配值。

本回答被提问者采纳
第2个回答  2012-04-12
请使用数据透视表功能,选中所有数据,插入-数据透视表,点确定,把条码和品名拖到行标签,库存量拖到数值那里,然后就可以自动求和了。用分类汇总也可以实现类似的功能
第3个回答  2012-04-17
这个好办,在F2,G2,H2,I2,输入公式:
=INDEX($A$2:$A$2000,MATCH(0,COUNTIF(F$1:F1,$A$2:$A$2000),0))&""
=INDEX($B$2:$B$2000,MATCH(0,COUNTIF(G$1:G1,$B$2:$B$2000),0))&""
=INDEX($C$2:$C$2000,MATCH(0,COUNTIF(H$1:H1,$C$2:$C$2000),0))&""
=INDEX($D$2:$D$2000,MATCH(0,COUNTIF(I$1:I1,$D$2:$D$2000),0))&""
选中这四格,按F2,再同时按下Ctrl+Shift+Enter组合键
下拉填充完成。这是提取A至D列的不重复值(重复的保留其中一项)
在J2输入公式:
=SUMPRODUCT($E$2:$E$3000*($A$2:$A$3000=$F2))
下拉填充完成,这是对一个条码(条码是唯一值)的所有库存量求和。
第4个回答  2012-04-12
没看到你的具体的表,把我根据自己表编的代码给你,要是需要你可以把表发给我,我给你修改一下就行了,qq:150700807
Sub 合并相同美元发票()
Dim i, l As Long
Dim rng As Range
Dim UsdFp As String
Dim UsdJe
With Application
.ScreenUpdating = False
End With

Sheets("欠费表").Select
For i = 3 To Sheet3.UsedRange.Rows.Count
UsdJe = Cells(i, 5)
UsdFp = Cells(i, 6)
If UsdJe <> "" And UsdJe <> "海运费(USD)" Then
xiayige:
On Error Resume Next
Set rng = Sheet3.UsedRange.Find(what:=UsdFp, lookat:=xlWhole)
address1 = rng.Address
Do
Set rng = Sheet3.UsedRange.FindNext(rng)
If rng.Value <> UsdFp Or rng.Value = "" Then Exit Do
address2 = rng.Address
p = rng.Row
If address1 <> address2 Then
UsdJe = UsdJe + Cells(p, 5)
Rows("" & p & ":" & p & "").Select
Selection.Delete Shift:=xlUp
GoTo xiayige
End If
Loop While address1 <> address2
End If
If Cells(i, 1) <> "合计" Then
Cells(i, 5) = UsdJe
End If
Next
With Application
.ScreenUpdating = True
End With
Sheet1.Select
End Sub
相似回答