一个月内所有星期一,星期二等的平均数据和总和

时间:2018-03-09 10:47:37

标签: excel vba excel-vba vb6

我有一个excel文档,主页和每月每天1张。 这个excel文档每个月都会填充每天的数据。

主表必须显示每个工作日的数据的平均值和总和。

我的问题是,每个月的工作日都在这个月的其他日子里,所以我不能简单地使用每月的第一天作为星期一。

我从一个只有主工作表的空Excel文档开始。 然后我的VB6程序将每个工作日的工作表添加到数据中。

我知道如何使用数据填充工作日表格,但我不知道如何使用公式填充主表格中的单元格。

主表中的平均值和总和公式必须是动态的,以选择哪些表格是星期一,星期二等。

以下是1月和2月的一些简化示例:

january february

真正的工作日工作表包含更多数据,主要工作表进行了更多分析。请参阅下面的部分内容:

part of the real document

我看到了解决这个问题的各种方法:

  • 来自我的VB6程序
  • 通过Excel文件中的VBA
  • 通过更复杂的excel公式
  • 将主页放在单独的文档中,同时使用可从主页访问的月日数据填写另一个Excel文档。

如何确保主页中的单元格始终使用正确的工作日,或者我如何从VB6程序中在主页的单元格中编写公式?

1 个答案:

答案 0 :(得分:2)

首先,如果可以,我建议您更改工作簿结构以使用tidy data layout,即每天没有单独的工作表,而是连接所有数据并添加一个月中的列。然后你可以使用一个数据透视表。

如果做不到这一点,请将一列数字1设为31,创建一个包含年份的单元格,另一个包含该月份的单元格。使用=DATE()制作该月份日期的单元格,然后使用=WEEKDAY()获取每个月的工作日。在另一列平均值中,每月每天汇总数据。然后使用数据透视表或仅使用SUMIF将其聚合到一周中的某一天。

enter image description here