EXCEL 多条件去重复计数的问题
发布网友
发布时间:2022-04-22 03:36
我来回答
共5个回答
热心网友
时间:2023-07-04 16:50
在F2单元格输入以下公式,然后向右向下填充公式
=SUMPRODUCT(($A$1:$A$10&$B$1:$B$10=$E2&LEFT(F$1,2))*(MATCH($A$1:$A$10&$B$1:$B$10&$C$1:$C$10,$A$1:$A$10&$B$1:$B$10&$C$1:$C$10,0)=ROW($1:$10)))
公式表示:将A列和B列连接起来后,符合等于E2与F1前两个字符的不重复的个数进行计数。
公式中:($A$1:$A$10&$B$1:$B$10=$E2&LEFT(F$1,2)实现了满足复合条件
MATCH($A$1:$A$10&$B$1:$B$10&$C$1:$C$10,$A$1:$A$10&$B$1:$B$10&$C$1:$C$10,0)=ROW($1:$10) 进行不重复数据的计数。
前后组合后,就是满足前面复合条件的不重复数据的计数。
详见附图
热心网友
时间:2023-07-04 16:50
不用宏就得加辅助列
假设第一行为标题,数据在A2:B100区域内
将D列当作辅助列,D2输入公式
=SUMPRODUCT((A$2:A2=A2)*(B$2:B2=B2)*(C$2:C2=C2)) 下拉填充至第100行
张三销售C列客户的个数
=SUMPRODUCT((A$2:A$100="张三")*(B$2:B$100="销售")*(D$2:D$100=1))
张三赠送C列客户的个数
=SUMPRODUCT((A$2:A$100="张三")*(B$2:B$100="赠送")*(D$2:D$100=1))
其他的替换一下公式内的姓名就行了追问是不是有空白的行会产生错误? 假设我还要有一列为“型号”,也要做为条件之一。公式要怎么写?
追答方法跟上面的差不多
公式就象是这个样子
=SUMPRODUCT((A$2:A$100="张三")*(B$2:B$100="销售")*(D$2:D$100="型号")*(E$2:E$100=1))
热心网友
时间:2023-07-04 16:51
给你一个宏你可以把这张有重复的表整理一下删除完全重复的行.然后再做统计就容易多了
Sub 删除完全重复的行()
Dim Endcol, Endrow, Hang, HangNumer, X, Y As Integer
Dim Rng As Range
Dim RngXT As Range
Endcol = [iv1].End(xlToLeft).Column
Endrow = Range("A65536").End(xlUp).Row
For X = Endrow To 1 Step -1
AA = "A1" & ":A" & Endrow - 1
BB = Range("A" & Endrow)
Set Rng = Range(AA).Find(BB, LookAt:=xlWhole)
If Not Rng Is Nothing Then
Do
Hang = Rng.Address(RowAbsolute:=False, ColumnAbsolute:=False)
HangNumer = Mid(Hang, 2, Len(Hang) - 1)
For Y = 2 To Endcol
If Cells(X, Y) = Cells(HangNumer, Y) Then
If Y = Endcol Then
Cells(X, Y).EntireRow.Delete
Set Rng = Range(AA).FindNext(Rng)
CC = Rng.Address
Endrow = Range("A65536").End(xlUp).Row
End If
Else
Exit For
End If
Next
Loop While Not Rng Is Nothing And Rng.Address(RowAbsolute:=False, ColumnAbsolute:=False) <> Hang
End If
Next
End Sub
热心网友
时间:2023-07-04 16:51
啥问题,你倒是说呀。
热心网友
时间:2023-07-04 16:52
用VBA可解决所有问题