找回密码
 立即注册
搜索

排名公式

2
回复
1958
查看
[复制链接]

1

主题

7

帖子

2

幻币

初入江湖

Rank: 1

积分
11
2021-11-17 03:04:00 显示全部楼层 |阅读模式
如图:
8708fdc60cd09a6096da93fc2e136702.png
怎样能把条件相同的客户大类 将进量 和销售排名并排看
排名公式.rar (18.22 KB, 下载次数: 14)
PPT学习论坛
回复

使用道具 举报

1

主题

9

帖子

0

幻币

初入江湖

Rank: 1

积分
9
2021-12-31 15:35:43 显示全部楼层
Sub test()
Dim r%, i%
Dim arr, brr
Dim d As Object
Set d = CreateObject("scripting.dictionary")
With Worksheets("sheet1")
  r = .Cells(.Rows.Count, 1).End(xlUp).Row
  arr = .Range("a2:h" & r)
End With
s = 0
For i = 1 To UBound(arr)
  If Not d.exists(arr(i, 4)) Then
  Set d(arr(i, 4)) = CreateObject("scripting.dictionary")
  End If
  If Not d(arr(i, 4)).exists(arr(i, 2)) Then
  ReDim brr(1 To 4)
  brr(1) = arr(i, 4)
  brr(2) = arr(i, 2)
  s = s + 1
  Else
  brr = d(arr(i, 4))(arr(i, 2))
  End If
  brr(3) = brr(3) + arr(i, 7)
  brr(4) = brr(4) + arr(i, 8)
  d(arr(i, 4))(arr(i, 2)) = brr
Next
ReDim crr(1 To s, 1 To 4)
m = 0
For Each aa In d.keys
  For Each bb In d(aa).keys
  brr = d(aa)(bb)
  m = m + 1
  For j = 1 To UBound(brr)
  crr(m, j) = brr(j)
  Next
  Next
Next
With Worksheets("sheet1")
  .Range("l2").Resize(UBound(crr), UBound(crr, 2)) = crr
End With
End Sub
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-2

幻币

初入江湖

Rank: 1

积分
2
2022-1-31 21:37:15 显示全部楼层
用VBA很简单。
排名公式.rar (27.56 KB, 下载次数: 15)
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册