ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1338|回复: 24

[求助] 多条件汇总+提取不重复名称

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-1-8 22:14 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
各位走过路过的大神 请点进来看看


1.想要在报表工作簿的机械表中 按数据表中的施工单位、月份做一个工时和数量的汇总
2.根据数据源应收应付试用版 按公司名称整一个总单出来

多条件汇总.rar

40.53 KB, 下载次数: 26

TA的精华主题

TA的得分主题

发表于 2024-1-8 22:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-1-9 08:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
大辉机械和驰辉机械是不是同一个单位啊,一个只有收入,一个只有支出。

TA的精华主题

TA的得分主题

发表于 2024-1-9 08:21 | 显示全部楼层
看了半天没看明白,也不知道大机小机怎么来的,也看不出来收入、支出、利润怎么来的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-9 08:48 | 显示全部楼层
ykcbf1100 发表于 2024-1-9 08:21
看了半天没看明白,也不知道大机小机怎么来的,也看不出来收入、支出、利润怎么来的。

报告大神  目前想要求图片框出来的这几个部分 ,数据源就是数据表中的机械 ,根据机械台班的施工单位 按月汇总

至于您说的收入、支出以及利润 都是从下面分表带上去的


目标.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-9 08:48 | 显示全部楼层
ykcbf1100 发表于 2024-1-9 08:15
大辉机械和驰辉机械是不是同一个单位啊,一个只有收入,一个只有支出。

是的 应该是我文件没改好

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-9 08:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wang-way 发表于 2024-1-8 22:34
用字典 分类 累加一下

说出来就挺不好意思的 我目前的水平停留在只认识字典

TA的精华主题

TA的得分主题

发表于 2024-1-9 09:22 | 显示全部楼层
参与一下。。。
  1. Sub ykcbf()   '//2024.1.9
  2.     Application.ScreenUpdating = False
  3.     p = ThisWorkbook.Path
  4.     Set d = CreateObject("Scripting.Dictionary")
  5.     f = p & "\数据源.xlsx"
  6.     Set Sh = ThisWorkbook.Sheets("机械租赁利润表")
  7.     Set Wb = Workbooks.Open(f, 0)
  8.     With Wb.Sheets("机械")
  9.         r = .Cells(Rows.Count, 1).End(3).Row
  10.         arr = .Range("a3:o" & r)
  11.         Wb.Close False
  12.     End With
  13.     For i = 2 To UBound(arr)
  14.         s = arr(i, 2) & "|" & Month(arr(i, 4))
  15.         If Not d.exists(s) Then
  16.             d(s) = Array(arr(i, 6), arr(i, 9))
  17.         Else
  18.             t = d(s)
  19.             t(0) = t(0) + arr(i, 6)
  20.             t(1) = t(1) + arr(i, 9)
  21.             d(s) = t
  22.         End If
  23.     Next
  24.     With Sh
  25.         arr = .Range("a20:e33")
  26.         For j = 2 To UBound(arr, 2) Step 2
  27.             For i = 3 To UBound(arr)
  28.                 s = arr(1, j) & "|" & Val(arr(i, 1))
  29.                 If d.exists(s) Then
  30.                     arr(i, j) = d(s)(0)
  31.                     arr(i, j + 1) = d(s)(1)
  32.                 End If
  33.             Next
  34.         Next
  35.         .Range("a20:e33") = arr
  36.         .[b34].Resize(1, 4).FormulaR1C1 = "=SUM(R22C:R" & "[-1]C)"
  37.     End With
  38.     Application.ScreenUpdating = True
  39.     MsgBox "OK!"
  40. End Sub

复制代码


TA的精华主题

TA的得分主题

发表于 2024-1-9 09:23 | 显示全部楼层
wuailantian 发表于 2024-1-9 08:50
说出来就挺不好意思的 我目前的水平停留在只认识字典

附件供参考。。。

新建文件夹.7z

51.48 KB, 下载次数: 24

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-9 10:12 | 显示全部楼层
ykcbf1100 发表于 2024-1-9 09:23
附件供参考。。。

大神 可以再给看看另一个压缩包里的另一表吗?
951.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 01:47 , Processed in 0.044892 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表