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

如何在Google Sheets中通过日期查找薪酬周期编号?

解决方案

方法1:INDEX + MATCH 数组公式

直接根据排班日期匹配对应薪酬周期,无需依赖上一行数据:

=INDEX('Pay Statements'!A:A, MATCH(TRUE, ('Pay Statements'!B:B<=A33)*('Pay Statements'!C:C>=A33), 0))
  • 原理:生成布尔数组,逐一判断Pay Statements表中每个周期的起止日期是否包含当前排班日期(A33),MATCH找到第一个符合条件的周期位置,INDEX取出对应的周期编号。
  • 适用场景:薪酬周期连续、无重叠的常规情况,数据量中等时效率稳定。

方法2:QUERY函数查询

用SQL风格语句筛选匹配的周期:

=QUERY('Pay Statements'!A:C, "SELECT A WHERE B <= date '"&TEXT(A33,"yyyy-mm-dd")&"' AND C >= date '"&TEXT(A33,"yyyy-mm-dd")&"' LIMIT 1", 0)
  • 原理:将排班日期格式化为SQL可识别的日期格式,查询Pay Statements表中包含该日期的周期,返回第一个匹配的编号。
  • 适用场景:适合熟悉SQL逻辑的用户,数据量较大时可通过限定查询范围(比如'Pay Statements'!A1:C100而非整列)提升效率。

优化建议

  • 若Pay Statements表数据固定,可将其设为命名范围(比如PayPeriods),公式中直接引用命名范围,既简化公式又减少计算量。
  • 确保Pay Statements表的起止日期为标准日期格式,避免匹配失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 08:08:15