我希望每个月都有一个包含不同值的列

时间:2016-12-06 08:55:47

标签: excel

我在excel中创建了一个表来保存员工的休假记录。我创建了一个滚动条滚动到另一个月。我添加了一个名为&#34的额外列;离开这个月"显示一个人休假的天数。但是当我滚动到另一个月(例如从1月到2月)时,列的数据保持不变。我希望它有不同月份的不同数据。例如1月份为3天,2月为4天...我想在不同月份的同一个单元格中使用不同的值。(当我滚动到不同的月份时,值应该更改)你们知道如何那样做? screenshot

 Sub showcalendar()
 LeaveTracker.Columns("C:NJ").Hidden = True
 LeaveTracker.Range(Columns(Range("B3").Value * 31 - 28),Columns(Range("B3").Value * 31 + 2)).Hidden = False
 End Sub

2 个答案:

答案 0 :(得分:0)

因此,一年中的每一天基本上都有365列。在第4行(或任何合适的地方)添加月份编号,即对于前31列,单元格将在第4行中具有01。对于接下来的28列,第4行中的单元格将具有02,依此类推。

然后在NK8中,输入的公式应为

SUMIF($C$4:$NJ$4,$B$3,C8:NJ8)

你可以为每个人拖下来。 B3是您正在查看的当前月份编号。该公式基本上只对第4行中相应单元格与B3中月份数匹配的单元格进行求和。

以下是Google Sheet示例。

答案 1 :(得分:0)

以下是我将使用的方法:

  1. 定义一个包含31 X 12列的电子表格(每组31列代表一个月,即使是月份为28/29/30天的情况);该电子表格将用作原始数据的存储(即一年中每天的存在/缺席),

  2. 用于显示的第二个电子表格将链接到第一个的单元格与水平偏移(向右)计算为31 *(month_number - 1);因此,在查看3月的信息时,偏移量将在右侧62列。

  3. 您的滚动条将从1到12运行并设置月份的值(然后将用于计算偏移量。

  4. 通过这种方式,您无需复制粘贴任何内容,而是拥有一个在原始数据表上左右运行的滑动“窗口”。

    这个描述很清楚。