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

Google Sheets如何根据跟踪号单元格是否为空自动填充发货状态

优先方案:内置公式(无编程基础即可用)

所有主流电子表格工具(Google Sheets、微软Excel、飞书文档、腾讯文档)都可以直接用公式实现,无需写脚本:

  • 假设物流跟踪号存储在B列,Shipped 列为相邻的C列,表头占1行
  • 点击C2单元格,输入公式:
    =IF(ISBLANK(B2),"No","Yes")
  • 鼠标放在C2单元格右下角,待光标变成十字后下拉填充整列即可,后续跟踪号列内容变更时,Shipped 列会自动同步更新结果。

进阶方案:自动触发脚本(新增订单无需手动拉取公式)

如果需要新增订单行时自动填充结果,不用每次手动拉公式,可以使用对应平台的脚本:

Google Sheets (Apps Script)

操作步骤:

  • 打开表格,点击顶部菜单栏「扩展程序」->「Apps Script」
  • 替换默认代码为以下内容,可根据你的实际列数修改配置参数:
function onEdit(e) {
  // 自定义配置:跟踪号列号(A=1、B=2,以此类推)、Shipped列号、表头行数
  const TRACKING_NUMBER_COL = 2;
  const SHIPPED_STATUS_COL = 3;
  const HEADER_ROW_COUNT = 1;

  const editedRange = e.range;
  // 仅响应跟踪号列的编辑操作,跳过表头
  if (editedRange.columnStart === TRACKING_NUMBER_COL && editedRange.rowStart > HEADER_ROW_COUNT) {
    const currentRow = editedRange.rowStart;
    const trackingValue = editedRange.getValue();
    const statusCell = e.source.getActiveSheet().getRange(currentRow, SHIPPED_STATUS_COL);
    statusCell.setValue(trackingValue ? "Yes" : "No");
  }
}
  • 保存项目并按需授权即可,后续修改跟踪号列内容时会自动更新发货状态。

微软Excel(VBA脚本)

操作步骤:

  • 打开Excel文件,按Alt+F11调出VBA编辑器
  • 双击左侧项目栏中你要生效的工作表名称,粘贴以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' 自定义配置:跟踪号列号、Shipped列号、表头行数
    Const TRACKING_NUMBER_COL As Integer = 2
    Const SHIPPED_STATUS_COL As Integer = 3
    Const HEADER_ROW_COUNT As Integer = 1
    
    If Target.Column = TRACKING_NUMBER_COL And Target.Row > HEADER_ROW_COUNT Then
        Cells(Target.Row, SHIPPED_STATUS_COL).Value = IIf(IsEmpty(Target.Value), "No", "Yes")
    End If
End Sub
  • 保存文件为「Excel 启用宏的工作簿(*.xlsm)」格式即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 15:54:05