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

Google Sheets篮球赛事原始数据规整技术求助

篮球赛事数据规整解决方案

规则1:生成Tournament列及后续行

核心逻辑

筛选A列中**不含"c OT"、"From the"、不含":"**的单元格,以米色高亮日期行(标准日期格式行)为分界,为每个日期区间匹配符合条件的赛事名称;若区间内无符合条件的单元格,取上方最近的赛事名称。

实现公式(以B列为Tournament列为例)

=ARRAYFORMULA(
  LET(
    data, A:A,
    is_date, ISDATE(data),
    valid_tourn, REGEXMATCH(data, "^((?!c OT|From the|:).)*$") * NOT(is_date),
    tourn_list, IF(valid_tourn, data, ""),
    fill_down, SCAN("", tourn_list, LAMBDA(acc, curr, IF(curr<>"", curr, acc))),
    date_groups, SCAN(0, is_date, LAMBDA(acc, curr, IF(curr, acc+1, acc))),
    IF(is_date, "", VLOOKUP(date_groups, UNIQUE(HSTACK(date_groups, fill_down)), 2, FALSE))
  )
)

规则2:提取三分球/罚球行数据

核心逻辑

识别A列中包含"三分球"或"罚球"的行,提取其下方紧邻的单元格内容,并以对应的日期行作为每场比赛的标识。

实现公式(以C列为提取结果列为例)

=ARRAYFORMULA(
  LET(
    data, A:A,
    is_date, ISDATE(data),
    date_list, IF(is_date, data, ""),
    filled_dates, SCAN("", date_list, LAMBDA(acc, curr, IF(curr<>"", curr, acc))),
    is_target, REGEXMATCH(data, "三分球|罚球"),
    target_vals, OFFSET(data, 1, 0),
    IF(is_target, HSTACK(filled_dates, target_vals), "")
  )
)

补充说明

  • 若米色高亮行不是标准日期格式,需替换ISDATE(data)为背景色判断逻辑(需借助Google Sheets自定义函数或Apps Script实现单元格背景色读取)。
  • 如需拆分提取的内容为多列,可扩展HSTACK或SPLIT函数进一步处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:57:42