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

如何在Google Sheets中根据指定产品编码查询匹配的最新行数据

Google Sheets 按产品code查询最新记录解决方案

以下两种方案可匹配你的需求,按需选择即可:

方案1:公式实现(无需编写代码,返回查询结果)

适用场景:需要在单独区域展示指定code的最新完整记录
前提假设:你的数据按采购周期从旧到新录入,新记录追加在旧记录下方,产品code存放于A列,第1行为表头

  • 新建独立查询页,在A1单元格输入待查询的产品code作为输入项
  • 在查询页A2单元格输入如下公式即可返回对应最新记录的整行数据:
    =FILTER(数据页!A:Z, 数据页!A:A=A1, ROW(数据页!A:A)=MAX(FILTER(ROW(数据页!A:A), 数据页!A:A=A1)))
  • 参数调整说明:
    • 替换公式中的数据页为你自己的工作表名称
    • 替换A:A为你实际存放产品code的列号
    • 替换A:Z为你需要返回的数据列范围,缩小范围可提升公式运行效率

若你的数据不是按录入顺序排序,存在新记录在上的情况,可把公式中的行号判断替换为对应采购日期列的MAX值判断即可。

方案2:脚本实现(输入code后自动定位到对应行)

适用场景:需要直接跳转定位到数据页的最新记录行,适合高频查询使用

  1. 打开目标表格,点击顶部菜单栏「扩展程序」-「Apps脚本」
  2. 删除默认生成的空代码,粘贴如下代码:
function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('自定义查询')
    .addItem('按产品code查最新记录', 'searchLatestCode')
    .addToUi();
}

function searchLatestCode() {
  const ui = SpreadsheetApp.getUi();
  const response = ui.prompt('请输入要查询的产品code:');
  const searchCode = response.getResponseText();
  if (response.getSelectedButton() !== ui.Button.OK || !searchCode) return;
  
  // 以下参数按需修改
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('数据页'); 
  const codeCol = sheet.getRange('A:A').getValues(); 

  let latestRow = 0;
  // 从最后一行倒序查找,第一个匹配的就是最新记录
  for (let i = codeCol.length - 1; i >= 0; i--) {
    if (codeCol[i][0] === searchCode) {
      latestRow = i + 1;
      break;
    }
  }
  if (latestRow === 0) {
    ui.alert('未找到对应code的记录');
    return;
  }
  // 自动跳转定位到目标行
  sheet.setActiveRange(sheet.getRange(latestRow, 1));
  SpreadsheetApp.getActiveSpreadsheet().setActiveSheet(sheet);
}
  1. 保存项目后完成授权,刷新表格页面,顶部会新增「自定义查询」菜单,点击对应选项输入code即可自动定位到最新记录行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:36:01