我有spreadsheet用于计算每顿进餐的营养数据。一张纸(“成分”)包含每种成分的营养数据矩阵。另一页(“食谱”)包含每顿饭每种成分的份量矩阵。在我的“膳食营养数据”表中,我想将这些矩阵相乘以获得每种配方的营养数据。
我可以针对当前拥有的一定数量的配料和配方执行此操作:=mmult(ingredients!B5:AF39,recipes!B2:G32)
,但是如果添加配方或配料,则希望它自动更新,因此我不希望对该公式进行硬编码。由于矩阵需要所有单元格中的值相乘并且由于约束NxP * PxM(行数x列数)必须成立,因此我需要将每张工作表的所有非空白单元格的数组导入MMULT()
公式。
我当前的尝试=mmult(query(ingredients!B5:FN39,"select * where Col1 is not null",0),query(recipes!B2:G32,"select * where Col1 is not null",0))
不起作用。它引发错误:“无法解析功能QUERY参数2的查询字符串:NO_COLUMN:Col1”。
我不知道应该用什么代替“ Col1”,或者我的公式是否是实现这些结果的有效方法。
我也尝试过filter()
函数,但是它不能用于数组。
不要介意食谱的怪异...我是一名烹饪技能有限的大学生:)。