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

如何根据下拉选择自动将Paid in full状态行移至单独工作表?

谷歌表格自动转移「已全额支付」行的两种简便方案

方案一:用QUERY函数自动同步显示(无需移动行)

如果只想让「已全额支付」工作表自动展示符合条件的内容,不删除原表行,用这个方法最省事:

  • 打开表格,切换到Sheet2,将其重命名为「已全额支付」
  • 在「已全额支付」表的A1单元格输入公式:
    =QUERY(跟踪!A:Z, "SELECT * WHERE ColX = 'Paid in full'", 1)
    • 把ColX替换成状态列的对应列号(比如状态在D列,就写Col4)
    • 末尾的1表示包含表头,无表头则改成0
  • 完成设置后,只要「跟踪」表里的状态改为Paid in full,「已全额支付」表会自动同步显示该行,原表行保留不变。

方案二:用简单脚本实现真正的行移动(原表删除该行)

要是需要把符合条件的行从「跟踪」表彻底移至「已全额支付」表,用这个脚本:

  • 打开表格,点击顶部菜单栏「扩展程序」→「Apps 脚本」
  • 删除默认代码,粘贴以下内容:
function movePaidRows() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sourceSheet = ss.getSheetByName('跟踪');
  const targetSheet = ss.getSheetByName('已全额支付');
  const statusCol = 4; // 状态列的列号,比如D列填4,按需修改
  const data = sourceSheet.getDataRange().getValues();
  
  // 从下往上遍历,避免删行后索引混乱
  for (let i = data.length - 1; i >= 1; i--) { // 跳过表头行
    if (data[i][statusCol - 1] === 'Paid in full') {
      targetSheet.appendRow(data[i]);
      sourceSheet.deleteRow(i + 1);
    }
  }
}
  • 保存脚本,命名为「MovePaidRows」即可
  • 设置自动触发:点击左侧「触发器」→「添加触发器」,函数选movePaidRows,事件源选「从电子表格」,事件类型选「编辑时」,保存后,每次在「跟踪」表将状态改为Paid in full,该行会自动移至「已全额支付」表,原表对应行被删除。

内容的提问来源于stack exchange,提问作者Frontier Hardwood Flooring

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 02:52:52