使用Excel(主要是VBA部分),我想做以下事情:
我有两个不同类型的数据表,但它们至少共有4个以下列:
其中一个表格代表了计划的工作时间(例如,该员工应该在项目A上工作x小时,在5月5日项目B上工作时间......)另一个表格代表实际工作时间,我。即员工实际花在项目上的时间。
员工工作的实际项目可能与计划的项目不同,或者可能相同,但他可能花了不同的时间。
成为Excel的新手我想知道你是否有人能以最有效的方式向我提出想法。由于我有很多行,我对使用太多循环的想法有点沉默。
谢谢!
答案 0 :(得分:1)
如果这些是结构化表格(我们在Excel中说明其工作表名称为Planned
和Actual
),我会创建一个MS查询,如下所示:
SELECT Plan.Employee, Plan.Project, SUM(Plan.PlannedHrs), SUM(Act.ActualHrs),SUM(Act.ActualHrs) / SUM(Plan.PlannedHrs)
FROM [Planned$] as Plan
INNER JOIN [Actual$] as Act
ON Plan.Project = Act.Project AND Plan.Employee=Act.Employee
GROUP BY Plan.Employee, Plan.project, Act.Project, Act.Employee
以上查询将比较每个项目的小时数(计划与实际)。这只是一个示例,因为您可以计算其他指标。
使用MS查询?:Data->From Other Sources->From Microsoft Query
或者使用我的SQL AddIn(仅用于创建查询):http://www.analystcave.com/excel-tools/excel-sql-add-in-free/