目标
我需要帮助才能找到在excel中执行以下转换的最有效方法。在提到“有效方式”时,我指的是成功获得我正在寻找的输出的最简单,最有效的方法。
问题
为了简单起见,我将向您展示概念问题的虚拟过度简化示例,一旦解决,将允许我完成我需要的任务。
让它成为2张桌子
表1记录了每周每位员工的每日平均销售额。该值适用于从WeekStartingDate
到WeekStartingDate + 4
的每一天。
表2记录了每个员工分配给哪个团队。每当员工更改团队时,表2(特别是)手动更新。因此,表2通过设置表条目有效的“时间范围”来跟踪每个员工的团队。
我希望将两个表组合起来,以获得每个团队每个员工的平均每日销售额的日志,如下所示。请注意,输出表上的“时间范围”对应于Table1ID(即一周内)和员工团队中没有变化的最小时间段。
规则
允许使用宏/使用VBA。
答案 0 :(得分:0)
看起来像组合两个表。为此,首先将两个数据范围转换为表格以及创建新表格结构的任何位置。
因为它只是复制和粘贴所以下面的代码会帮助你。
Sub CombineTables()
Dim Rng1 As Range,Rng2 As Range
设置Rng1 = ThisWorkbook.Names(“Tab1”)。RefersToRange
设置Rng2 = ThisWorkbook.Names(“Tab2”)。RefersToRange
ThisWorkbook.Connections(1).REFRESH
Rng1.Copy Sheet1.Range(“A1”)。PasteSpecial xlPasteValues
Rng2.Copy
Sheet 1中。范围(“A1”)。偏移量(Rng1.Rows.Count,0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
表( “工作表Sheet”)。激活 ActiveSheet.Range( “A1”)。选择
End Sub