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

Google Sheets ArrayFormula应用咨询:多场景需求实现求助

Google Sheets ArrayFormula 实现方案

以下是针对需求的具体公式实现,假设源数据范围为 A2:F(对应列:A=日期、B=姓名、C=职位、D=是否发奖金、E=奖金金额):

1. 按日期从最新到最旧排序

=ArrayFormula(SORT(A2:F, 1, FALSE))
  • 说明:SORT 函数按第1列(日期列)降序排列,FALSE 表示降序(最新日期在前)。

2. 提取职位列括号内的内容到新列

=ArrayFormula(IF(C2:C="", "", REGEXEXTRACT(C2:C, "\((.*?)\)")))
  • 说明:通过正则表达式 \((.*?)\) 匹配括号内的内容,若职位列为空则返回空值。

3. 职位列含指定关键词则置空,其余保留

=ArrayFormula(IF(REGEXMATCH(C2:C, "Major|Minority|Director"), "", C2:C))
  • 说明:若职位内容包含「Major(主要)」「Minority(少数)」「Director(主管)」任一关键词,返回空值,否则保留原职位内容。

4. 指定姓名分组生成含指定字段的排序表格(以「约翰逊·D·佐伊」为例)

=ArrayFormula({
  "日期", "是否发奖金", "奖金金额";
  SORT(FILTER({A2:A, D2:D, E2:E}, B2:B="约翰逊·D·佐伊"), 1, FALSE)
})
  • 说明:先通过 FILTER 筛选指定姓名的记录,仅保留日期、是否发奖金、奖金金额字段,再按日期降序排序,最后添加表头。

5. 筛选特定时间范围且奖金为「是」的记录

过去30天内的符合记录

=ArrayFormula({
  "日期", "是否发奖金", "奖金金额", "姓名", "职位";
  SORT(FILTER(A2:F, D2:D="Y", A2:A>=TODAY()-30), 1, FALSE)
})
  • 说明:筛选奖金为「是」且日期在过去30天内的记录,保留指定字段并按日期降序排序。

2023年全年的符合记录

=ArrayFormula({
  "日期", "是否发奖金", "奖金金额", "姓名", "职位";
  SORT(FILTER(A2:F, D2:D="Y", YEAR(A2:A)=2023), 1, FALSE)
})
  • 说明:筛选奖金为「是」且日期属于2023年的记录,保留指定字段并按日期降序排序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:46:05