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

基于日期检索母鸡信息及对应赛事日的Google Sheets实现方案咨询

解决方案:Google Sheets按日期匹配母鸡与赛事编号

一、优先推荐:公式实现

1. 获取对应母鸡(标黄单元格需求)

假设待匹配日期在A2:A列,母鸡数据区域为D2:F(D=母鸡名,E=对应日期,F=赛事编号),使用XLOOKUP函数直接匹配,自动处理无匹配场景:

=XLOOKUP(A2, $E$2:$E$100, $D$2:$D$100, "无匹配")
  • 说明:将公式输入第一个结果单元格(如B2),下拉填充即可批量应用。最后一个参数可改为"",无匹配时显示空白。

2. 获取对应赛事日编号(橙色单元格需求)

同样用XLOOKUP直接通过日期匹配:

=XLOOKUP(A2, $E$2:$E$100, $F$2:$F$100, "无匹配")

若存在同一日期对应多只母鸡的场景,需结合母鸡名双重匹配,用FILTER+INDEX组合:

=IFERROR(INDEX(FILTER($F$2:$F$100, $D$2:$D$100=B2, $E$2:$E$100=A2), 1), "无匹配")

二、备用:Google Apps Script实现

如果公式无法覆盖复杂逻辑,可使用脚本批量处理:

function matchHenAndEvent() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const dateCol = sheet.getRange("A2:A" + sheet.getLastRow()).getValues();
  const henData = sheet.getRange("D2:F" + sheet.getLastRow()).getValues();
  const henResults = [];
  const eventResults = [];

  dateCol.forEach(dateRow => {
    const targetDate = dateRow[0];
    let hen = "无匹配";
    let eventNo = "无匹配";
    
    henData.forEach(dataRow => {
      if (dataRow[1] && dataRow[1].getTime() === targetDate.getTime()) {
        hen = dataRow[0];
        eventNo = dataRow[2];
      }
    });
    
    henResults.push([hen]);
    eventResults.push([eventNo]);
  });

  sheet.getRange("B2:B" + sheet.getLastRow()).setValues(henResults);
  sheet.getRange("C2:C" + sheet.getLastRow()).setValues(eventResults);
}
  • 使用步骤:打开表格→点击「扩展程序」→「Apps Script」→粘贴代码并保存→运行函数即可自动填充结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:05:00