如何根据A列最新时间戳将对应单元格复制到其他电子表格
Google Sheets 提取A列最新时间戳对应B列值的实现方法
无代码公式方案(优先推荐)
直接在Sheet2需要展示结果的单元格输入以下公式即可自动完成匹配:
=INDEX(Sheet1!B:B,MATCH(MAX(Sheet1!A:A),Sheet1!A:A,0))
公式逻辑说明:
MAX(Sheet1!A:A):自动遍历Sheet1的A列,提取所有时间戳中的最大值,即最新时间MATCH(MAX(Sheet1!A:A),Sheet1!A:A,0):定位最新时间戳在A列对应的行位置INDEX(Sheet1!B:B, 行位置):返回B列对应行的数值,就是目标结果
使用注意事项:
- 提前确认A列单元格格式为「日期时间」类型,若时间戳存为文本格式,MAX函数无法正常识别会导致计算错误
- 公式会自动跳过A列的空单元格、无效非时间值,不影响最终结果
- 后续A列新增更晚的时间戳时,公式会自动刷新返回对应B列的新值,无需手动调整
脚本实现方案(适合有额外自定义需求的场景)
如果你需要在同步最新值的同时完成格式标记、消息通知等额外操作,可以用Google Apps Script实现:
- 打开表格后点击顶部菜单栏「扩展程序」→「Apps Script」进入脚本编辑器
- 删除编辑器里默认的空白代码,粘贴以下内容后保存,按提示完成账号授权即可
function syncLatestValToSheet2() { const workbook = SpreadsheetApp.getActiveSpreadsheet(); const sourceSheet = workbook.getSheetByName("Sheet1"); const targetSheet = workbook.getSheetByName("Sheet2"); // 读取A、B列从第2行开始的所有有效数据 const lastRow = sourceSheet.getLastRow(); const sourceData = sourceSheet.getRange("A2:B" + lastRow).getValues(); // 遍历查找最新时间对应的B列值 let latestTimestamp = new Date(0); let matchValue = ""; for (const row of sourceData) { const [currentTime, currentVal] = row; if (currentTime instanceof Date && currentTime > latestTimestamp) { latestTimestamp = currentTime; matchValue = currentVal; } } // 将结果写入Sheet2的A1单元格,可按需修改目标单元格位置 targetSheet.getRange("A1").setValue(matchValue); }
你可以根据需要给脚本设置定时触发,或者绑定表格编辑事件,实现A列数据更新后自动同步结果到Sheet2。
内容的提问来源于stack exchange,提问作者ADOGG
相关产品推荐
相关产品推荐

