ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 请问需要将每日的物料统计表做成台账,但是有多个条件,要根据入库的物料名称匹配

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-6-18 14:04 | 显示全部楼层 |阅读模式
请问需要将每日的物料统计表做成台账,但是有多个条件,要根据入库的物料名称匹配

台账.rar

38.82 KB, 下载次数: 19

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:40 | 显示全部楼层
C8=LET(A,INDIRECT(DAY($B8)&"日!C5:C100"),SUM((A="入库")*(OFFSET(A,,1)&OFFSET(A,,8)=LOOKUP("座",$C$4:C$4))*(OFFSET(INDIRECT(DAY($B8)&"日!D4"),1,MATCH(C$5,INDIRECT(DAY($B8)&"日!E4:K4"),),96))))

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:47 | 显示全部楼层
Sub 分类汇总()
Application.ScreenUpdating = False
Dim ar As Variant, br As Variant
Dim i As Long, r As Long, rs As Long
Dim d As Object
Set d = CreateObject("scripting.dictionary")
With ActiveSheet
    .UsedRange.Offset(5) = Empty
    m = Sheets.Count + 10
    ar = .Range("b3:q" & m)
    For j = 2 To UBound(ar, 2) - 2 Step 3
        If ar(2, j) <> "" Then
            d(ar(2, j)) = j
        End If
    Next j
    k = 5
    For Each sh In Sheets
        If sh.Index > 1 Then
            r = sh.Cells(Rows.Count, 2).End(xlUp).Row
            k = k + 1
            br = sh.Range("b4:k" & r)
            ar(k, 1) = sh.Name
            For i = 2 To UBound(br)
                If br(i, 3) <> "" Then
                    lh = d(br(i, 3))
                    If lh <> "" Then
                        ar(k, lh) = ar(k, lh) + br(i, 5)
                        ar(k, lh + 1) = ar(k, lh) + br(i, 8)
                        ar(k, lh + 2) = ar(k, lh) + br(i, 9)
                    End If
                End If
            Next i
        End If
    Next sh
    .[b3].Resize(k, UBound(ar, 2)) = ar
End With
Application.ScreenUpdating = True
MsgBox "ok!"
End Sub

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:48 | 显示全部楼层
台账.rar (87.22 KB, 下载次数: 10)

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:49 | 显示全部楼层
分表都是空的,没法测试代码正确与否,自己测试看看吧,实在不行,可以加v

TA的精华主题

TA的得分主题

发表于 2024-6-19 11:47 | 显示全部楼层
思考和学习  怎样做原始记录表 以及 怎样根据原始记录表自动和动态地生成想要的各种分类汇总统计表......  即 把表格做成自己工作使用的“系统”, 是一种优秀的用表思路和方法......

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-19 15:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
博爱风雨同舟 发表于 2024-6-18 16:40
C8=LET(A,INDIRECT(DAY($B8)&"日!C5:C100"),SUM((A="入库")*(OFFSET(A,,1)&OFFSET(A,,8)=LOOKUP("座",$C$4: ...

谢谢,老师!

TA的精华主题

TA的得分主题

发表于 2024-6-19 17:27 | 显示全部楼层
不知道你这个表格的问题解决没有,这类的表格,我个人觉得应该不必要这么复杂的公式,我自己在工作中也经常用到这种类型的表,可以加我V,共同学习一下。

TA的精华主题

TA的得分主题

发表于 2024-6-20 08:17 | 显示全部楼层
Excel表哥在此 发表于 2024-6-19 11:47
思考和学习  怎样做原始记录表 以及 怎样根据原始记录表自动和动态地生成想要的各种分类汇总统计表......   ...

是的,原始表要设计好,整个表结构也要设计好,表与表之间的关联也要提前设计好。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-21 10:59 | 显示全部楼层

主要是还有很多内容要根据内容模式去添加。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-28 05:48 , Processed in 0.042569 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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