arrays - 跨行求和并计算小于 0 的行数
问题描述
我正在尝试确定每家商店的库存短缺情况以及我供应的面包类型。
示例表显示了商店对每种面包的需求。
第 8 行是我试图用一个公式来完成的。
根据手头的数量,我可以有条件地格式化以根据短缺突出显示红色或绿色的单元格。
我无法获得计算红细胞数量的公式。
我想我需要使用 sumproduct。
=SUMPRODUCT(--($B9:$B11<C9:C11))
以上用于识别商店 A 的短缺(C 列)。但是,当拖到 D 和 E 列时,它不记得其他商店需要什么。
如果不添加范围内的所有行,我无法将行求和。我需要将每一行单独与手头的数量进行比较。我假设需要使用一个数组。
解决方案
这是我提到的公式。它使用 mmult 的标准方法来获取矩阵的行总数,然后将它们与可用的数量进行比较:
=SUM(--($B9:$B11<MMULT($C9:C11,TRANSPOSE(COLUMN($C9:C11)^0))))
进入C8并拉过。必须使用数组公式输入CtrlShiftEnter
编辑
OP 评论说,如果商店不需要特定商品,即使该商品的库存已经用完,也不应该将其列为短缺。
因此,仅当当前列在特定行中的数字 > 0 并且行总和大于可用数量时,才应该有一个额外的条件才能将其注册为短缺:
=SUM((C9:C11>0)*($B9:$B11<MMULT($C9:C11,TRANSPOSE(COLUMN($C9:C11)^0))))
如果您也只想选择一些行,它看起来像
=SUM(ISNUMBER(MATCH($A9:$A11,{"Wheat","Rye"},0))*(C9:C11>0)*($B9:$B11<MMULT($C9:C11,TRANSPOSE(COLUMN($C9:C11)^0))))
推荐阅读
- python - 循环浏览 300k 字典列表的最快方法是什么?
- asp.net-mvc - FormatException:输入字符串的格式不正确。- 将 ASP.net Core Identity PK 更改为 int
- lua - 即使我传入一个数字,Roblox Lua 也会给出错误“TweenInfo.new 第一个参数需要一个数字作为时间”
- python - 使用 conda 环境设置 pycharm python 解释器
- python-3.x - 如何在 django 模板中的 for 循环中传递 2 个参数
- r - 如何在条形图上方添加 Tukey 结果?[不使用ggplot]
- spring-boot - SpringBoot 2.4.0,没有写入日志文件(logging.file.name)
- c - 计算器练习中 fgets() 和 sscanf() 的问题
- cmake - 使用 CMake 获取、构建和链接 SDL2 失败,并带有未定义的“地板”引用
- php - 当页面上存在另一个元素时,通过 css 隐藏元素