每月按学科分类统计招聘和泄露数据在Excel中。

huangapple go评论52阅读模式
英文:

Sum monthly hires and spill by discipline in excel

问题

我有一个名为StaffDetailsTbl的表格,其中包含员工的相关纪律和入职日期,如下所示:

每月按学科分类统计招聘和泄露数据在Excel中。

我想要在一个新的数据集中按纪律来统计每月的新员工数量,如下所示:

每月按学科分类统计招聘和泄露数据在Excel中。

K2中的时间范围(从2017年8月开始)由以下公式确定,其中StudioProjectedOperatingMonths是一个具有值401的定义名称:

=EDATE(StudioStartDate, SEQUENCE(1,StudioProjectedOperatingMonths,0))

J3中的纪律(从Programming开始)通过以下公式拆分:

=FILTER(DisciplineTbl, {1,0,0,0})

是否有一个公式可以输入到K3中,以便对StaffDetailsTbl中的每个新员工从入职日期开始,在定义的时间范围内进行求和,并将数据溢出到J列的纪律中?

例如,2017年8月将有5名员工,2019年12月将有6名员工,2020年1月将有8名员工。

StaffDetailsTbl 数据:

员工名字 纪律 入职日期 离职日期
Bob 编程 2017年08月01日
Dave 编程 2017年08月01日 2021年10月20日
Wesley 编程 2019年12月01日
Peter 编程 2017年08月01日
Jack 编程 2019年12月01日
Richard 艺术 2017年08月01日
Rodney 质量保证 2019年12月01日
Proj 1 - 招聘1 生产 2019年12月01日
Roger 质量保证 2017年08月01日
Steve 运营 2019年12月01日
Rachel 艺术 2019年12月01日
Proj 1 - 招聘2 编程 2020年01月01日
Proj 1 - 招聘3 设计 2020年01月01日
Proj 1 - 招聘4 编程 2020年01月01日
Proj 2 - 招聘1 编程 2020年01月01日
Proj 2 - 招聘2 编程 2020年01月01日
Proj 4 - 招聘1 编程 2020年01月01日
招聘总监 1 运营 2020年01月01日
Proj 4 - 招聘2 编程 2020年01月01日

更新

我现在有以下公式,可以将内容溢出到多个列中:

=LET(StartDateToCompare, K$1#,
YearToUse, YEAR(StartOfMonthToCompare),
MonthToUse, MONTH(StartOfMonthToCompare),
DaysInMonth, DAY(DATE(YearToUse, MonthToUse +1, 1) -1),
EndDateToCompare, DATE(YEAR(K$1#),MONTH(K$1#),DAY(DATE(YEAR(K$1#), MONTH(K$1#) +1, 1) -1)),
EmployeeDateToCompare, StaffDetailsTbl[[Employment Start Date]:[Employment Start Date]],
COUNTIFS(StaffDetailsTbl[[Discipline]:[Discipline]],$J2, EmployeeDateToCompare,"<="&EndDateToCompare, EmployeeDateToCompare,">="&StartDateToCompare)
)

是否有一种方法可以调整它,以便它也可以溢出到DisciplineTbl的行数,这样我就可以只插入一个公式,而不必为所有行拖动复制它?

英文:

I have a table called StaffDetailsTbl that has employee data with associated discipline and start date as below:

每月按学科分类统计招聘和泄露数据在Excel中。

I'd like to sum the number of hires per month by discipline in a new dataset like below:

每月按学科分类统计招聘和泄露数据在Excel中。

The timeframe in K2 (starting from Aug-17) is determined by the following formula where StudioProjectedOperatingMonths is a defined name with the value of 401:

=EDATE(StudioStartDate, SEQUENCE(1,StudioProjectedOperatingMonths,0))

The Disciplines in J3 (starting with Programming) is spilt with the following formula:

=FILTER(DisciplineTbl, {1,0,0,0})

Is there a formula that can be entered in to K3 such that it sums each new employee from the Employment Start Date in the StaffDetailsTbl for the duration of the defined timeline and spills the data for the disciplines in column J?

For example, August 2017 would have 5, December 2019 would be 6 and Jan 2020 would be 8.

StaffDetailsTbl data:

Employee Discipline Employment Start Date Employment End Date
Bob Programming 01/08/2017
Dave Programming 01/08/2017 20/10/2021
Wesley Programming 01/12/2019
Peter Programming 01/08/2017
Jack Programming 01/12/2019
Richard Art 01/08/2017
Rodney QA 01/12/2019
Proj 1 - Hire 1 Production 01/12/2019
Roger QA 01/08/2017
Steve Operations 01/12/2019
Rachel Art 01/12/2019
Proj 1 - Hire 2 Programming 01/01/2020
Proj 1 - Hire 3 Design 01/01/2020
Proj 1 - Hire 4 Programming 01/01/2020
Proj 2 - Hire 1 Programming 01/01/2020
Proj 2 - Hire 2 Programming 01/01/2020
Proj 4 - Hire 1 Programming 01/01/2020
Recruitment Director 1 Operations 01/01/2020
Proj 4 - Hire 2 Programming 01/01/2020

Update

I now have the following formula that will spill the contents for the number of columns:

=LET(StartDateToCompare, K$1#,
YearToUse, YEAR(StartOfMonthToCompare),
MonthToUse, MONTH(StartOfMonthToCompare),
DaysInMonth, DAY(DATE(YearToUse, MonthToUse +1, 1) -1),
EndDateToCompare, DATE(YEAR(K$1#),MONTH(K$1#),DAY(DATE(YEAR(K$1#), MONTH(K$1#) +1, 1) -1)),
EmployeeDateToCompare, StaffDetailsTbl[[Employment Start Date]:[Employment Start Date]],
COUNTIFS(StaffDetailsTbl[[Discipline]:[Discipline]],$J2, EmployeeDateToCompare,&quot;&gt;=&quot;&amp;StartDateToCompare, EmployeeDateToCompare,&quot;&lt;=&quot;&amp;EndDateToCompare)
)

Is there a way to adjust this so it will also spill for the number of rows in the DisciplineTbl so I can just insert the one formula and not have to drag copy it for all the rows?

答案1

得分: 1

如果我正确理解你的问题,考虑使用"Countifs" 函数,它允许你基于多个条件计算项目的数量。对于你的情景,我看到你想要计算以下情况下的项目数量:

  • 数据表的专业与报告标题上显示的专业相匹配,
  • 数据表的开始日期大于或等于报告标题日期(将报告标题中的日期设置为每个月的第一天;它们仍然可以格式化为仅显示月份和年份),以及
  • 开始日期小于或等于报告标题日期的月底日期。

我不清楚你的J和K列在哪里,因为我只在第一张图片中看到了列标题,但假设在第二张图片中,你选择的单元格是B3,那么我会使用以下公式:

=COUNTIFS(StaffDetailsTbl![专业列],$A3,StaffDetailsTbl![开始日期列],"">="&B$2,StaffDetailsTbl![开始日期列],"<="&EOMONTH(B$2,0))
英文:

If I'm understanding your question correctly, consider using "Countifs" which allows you to count the number of items based on multiple criteria. For your scenario, I'm seeing you want it to count the item if:

  • The datasheet discipline matches the discipline shown on the report header,
  • The datasheet start date is greater than or equal to the report header date (set the dates in the report headers to the first of the month; they can still be formatted to only show month and year), and
  • The start date is less than or equal to the end-of-month date of the header date.

I'm not clear on where your J and K columns are as I'm only seeing column headers in the first image, but assuming in the second image, your selected cell is B3, then I would use the formula:

=COUNTIFS(StaffDetailsTbl![discipline column],$A3,StaffDetailsTbl![start date column],&quot;&gt;=&quot;&amp;B$2,StaffDetailsTbl![start date column],&quot;&lt;=&quot;&amp;EOMONTH(B$2,0))

huangapple
  • 本文由 发表于 2023年2月14日 00:27:54
  • 转载请务必保留本文链接:https://go.coder-hub.com/75438642.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定