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

Google表格跨标签获取食材后汇总数量与成本的公式咨询

解决膳食规划表的食材数量与成本汇总问题

整合式公式方案(一键生成食材+总数量+总成本)

如果想直接生成包含去重食材、总数量、总成本的三列数据,可以用以下整合公式(假设在膳食规划表的F6单元格输入,按需调整起始位置):

=LET(
  规划餐品, D6:D18,
  食材数据源, 'Meal Ingredients'!A:D,
  去重食材列表, TOCOL(ARRAYFORMULA(IF(TOROW(规划餐品)=INDEX(食材数据源,,1),INDEX(食材数据源,,2),NA())),3,TRUE),
  BYROW(去重食材列表, LAMBDA(当前食材, {
    当前食材,
    SUMIFS(INDEX(食材数据源,,3),INDEX(食材数据源,,1),规划餐品,INDEX(食材数据源,,2),当前食材),
    SUMIFS(INDEX(食材数据源,,4),INDEX(食材数据源,,1),规划餐品,INDEX(食材数据源,,2),当前食材)
  }))
)

参数说明

  • 规划餐品:对应你表格中填写餐名的范围D6:D18
  • 食材数据源:Meal Ingredients标签页的A-D列(假设A=餐名、B=食材名、C=食材数量、D=单位成本,若列结构不同,修改INDEX(食材数据源,,列号)中的列号即可)
  • 去重食材列表:复用了你原有的逻辑,提取对应餐品的所有食材并自动去重
  • BYROW+SUMIFS:遍历每个去重食材,汇总该食材在所有规划餐品中的总数量与总成本

拆分式方案(保留原有食材列,单独计算数量/成本)

如果想保留你原本的食材列公式,单独计算数量和成本:

  1. 食材列(如F列):继续使用你的原有公式
=TOCOL(ARRAYFORMULA(IF(TOROW(D6:D18)='Meal Ingredients'!A:A,'Meal Ingredients'!B:B, NA())),3, TRUE)
  1. 总数量列(如G列):在G6输入以下数组公式,自动填充所有行
=BYROW(F6:F, LAMBDA(食材名, SUMIFS('Meal Ingredients'!C:C, 'Meal Ingredients'!A:A, D6:D18, 'Meal Ingredients'!B:B, 食材名)))
  1. 总成本列(如H列):在H6输入以下数组公式
=BYROW(F6:F, LAMBDA(食材名, SUMIFS('Meal Ingredients'!D:D, 'Meal Ingredients'!A:A, D6:D18, 'Meal Ingredients'!B:B, 食材名)))

注意事项

  • 确保Meal Ingredients标签页的列与公式中的引用对应,若数量列是E列,就把'Meal Ingredients'!C:C改成'Meal Ingredients'!E:E
  • 公式支持同一餐品中重复出现的同一种食材,会自动累加数量和成本
  • 以上公式均适用于Google Sheets,若使用Excel需调整部分函数(比如Excel的TOCOL参数略有不同,且需365版本支持BYROW/LET)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:59:52