You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于StaffDetailsTbl筛选EmployeeSalaryTbl数据,按指定学科计算月度薪资?

解决方案

Excel场景实现

筛选指定学科的薪资行数据

假设两张表通过员工ID(或唯一员工姓名)关联,StaffDetailsTbl包含员工ID、学科列,EmployeeSalaryTbl包含员工ID、Employee、Salary Start Date、Salary End Date等列。

用FILTER+XLOOKUP组合可以直接筛选出目标数据:

=FILTER(EmployeeSalaryTbl!A:D, XLOOKUP(EmployeeSalaryTbl!A:A, StaffDetailsTbl!A:A, StaffDetailsTbl!B:B, "") = "Programming")
  • 逻辑:XLOOKUP为薪资表的每个员工匹配对应学科,FILTER仅保留学科为Programming的行,返回指定的员工信息、薪资日期列。

若使用旧版Excel(无FILTER/XLOOKUP),可采用数组公式实现:

=INDEX(EmployeeSalaryTbl!A:D, SMALL(IF(XLOOKUP(EmployeeSalaryTbl!A:A, StaffDetailsTbl!A:A, StaffDetailsTbl!B:B, "")="Programming", ROW(EmployeeSalaryTbl!A:A)-ROW(EmployeeSalaryTbl!A1)+1), ROW(A1)), COLUMN(A1))

输入后按Ctrl+Shift+Enter确认,下拉、右拉填充即可获取所有筛选结果。

计算指定学科员工月度薪资总额

无需先筛选数据,直接用SUMIFS+XLOOKUP求和:

=SUMIFS(EmployeeSalaryTbl!E:E, XLOOKUP(EmployeeSalaryTbl!A:A, StaffDetailsTbl!A:A, StaffDetailsTbl!B:B, ""), "Programming")
  • 假设EmployeeSalaryTbl的E列为月度薪资额,函数自动匹配符合学科条件的员工并求和。

SQL场景实现

筛选指定学科的薪资行数据

通过INNER JOIN关联两张表,再筛选目标学科:

SELECT es.Employee, es.`Salary Start Date`, es.`Salary End Date`, es.Salary
FROM EmployeeSalaryTbl es
JOIN StaffDetailsTbl sd ON es.EmployeeID = sd.EmployeeID
WHERE sd.Department = 'Programming';

计算指定学科员工月度薪资总额

用聚合函数SUM直接计算总额:

SELECT SUM(es.Salary) AS TotalMonthlySalary
FROM EmployeeSalaryTbl es
JOIN StaffDetailsTbl sd ON es.EmployeeID = sd.EmployeeID
WHERE sd.Department = 'Programming';

内容的提问来源于stack exchange,提问作者Automation Monkey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 01:32:01