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

Google表格自定义函数:连接单元格并按需添加相邻计数列值

实现Google表格商品与数量的个性化拼接需求

我来帮你搞定这个需求!其实不用折腾复杂的自定义函数也能快速实现,当然如果你偏好自定义函数的话也有方案,两种方法都给你捋清楚:

方法一:用内置函数组合(无需脚本)

直接用ARRAYFORMULA+IF+JOIN的组合就能一步到位。假设你的商品列是A列(从A2开始),数量列是B列(从B2开始),在空白单元格输入下面的公式就行:

=JOIN(", ", ARRAYFORMULA(IF(B2:B>1, A2:A&" x"&B2:B, A2:A)))

公式说明:

  • ARRAYFORMULA:让后面的IF函数对整个B列的数量批量生效,不用逐行重复写公式
  • IF(B2:B>1, A2:A&" x"&B2:B, A2:A):判断每个商品的数量是否大于1,满足条件就拼接成「商品名 x数量」的格式,不满足就直接显示商品名
  • JOIN(", ", ...):把所有处理好的文本用「, 」分隔起来,刚好得到你想要的结果

方法二:自定义函数(用Google Apps Script)

如果你想更灵活(比如以后要加更多格式规则),可以写个自定义函数:

  1. 打开你的Google表格,点击顶部菜单的「扩展程序」→「Apps脚本」
  2. 把默认的代码删掉,替换成下面的脚本:
function formatItems(products, quantities) {
  const result = [];
  // 遍历每一行的商品和数量数据
  for (let i = 0; i < products.length; i++) {
    const productName = products[i][0];
    const qty = quantities[i][0];
    // 根据数量判断拼接格式
    if (qty > 1) {
      result.push(`${productName} x${qty}`);
    } else {
      result.push(productName);
    }
  }
  // 用逗号分隔所有结果并返回
  return result.join(", ");
}
  1. 保存脚本(随便起个名字比如「FormatItems」),回到表格
  2. 在空白单元格输入=formatItems(A2:A4, B2:B4)(把范围改成你实际的商品和数量区域),就能得到目标效果了

两种方法都能实现你要的「牛奶, 麦片 x3, 面包 x2」效果,选哪种看你的需求偏好~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:34:54