excel-formula - Excel - 仅使用每行和列一次在表中查找最高和的函数
问题描述
我有一个 10 行和 10 列的 excel 表。
该表包含 1 到 3 之间的 100 个不同值。
我想使用每行的 1 个值和每列的 1 个值来找到 10 个值的最大总和。
你们知道找到最高和的函数吗?- 我试过手动做,但有很多组合!希望这是有道理的。提前致谢:)
解决方案
我的解决方案建立在我在评论中所写的基础上,即您首先取 10x10 数组中的最大值,然后取 9x9 数组中的最大值(不包括第一个最大值的行/列)等。我的解决方案尽量不做一切都在一个公式中,但我添加了一些辅助列和更多辅助行(它快速而肮脏,但它有效并且易于审核/理解)。您始终可以在单独的工作表上执行此操作,如果需要,您可以将其隐藏。
上面的屏幕截图从单元格 A1 到 Y31。
关键公式:
- 3.55 是结果
=MAX(B2:K11)
- 第一个灰色单元格是
=IFNA(MATCH($M12;B2:B11;0);"")
,您将这 9 个单元格拖到左侧。这试图在表的每一列中找到与最大结果的匹配; - 3.55 左边的 10 是
=MATCH(TRUE;INDEX(ISNUMBER(P12:Y12);0);0)
, 并给出最大值的列号。 - 10 旁边的 2 是
=INDEX(P12:Y12;N12)
并给出最大值的行号。 - 单元格 B12 中的 1 是
=IF(OR(B$1=$N12;$A12=$O12);0;1)
,并创建一个 10x10 矩阵,其中行和列为零,其中找到了先前的最大值。 - 然后将其与前面的矩阵相乘,并在下面创建一个新的 10x10 矩阵(
{=B2:K11*B12:K21}
在 B22-K31 中输入数组公式 (ctrl+shift+enter) - 然后,您在下面复制/粘贴第 12 到 31 行 9 次
=SUM($M$12:$M$211)
23.02 是所有 10 个最大值的总和,是您正在寻找的结果。10 只是一张支票=COUNT($M$12:$M$211)
推荐阅读
- django - 我在哪里将我的 Django 根目录放在我的 Linux VPS 中
- laravel - 如何正确处理 Laravel 处理客户订阅已删除事件。?
- webpack - 如何翻译tinymce集成在VUEJS组件中
- c - 相同值的不同 Int 值?
- java - 当应用程序在 Windows 启动时启动时系统托盘图标不活动
- java - 模拟 url.openStream() 应该返回 InputStream
- string - 是否有可能:根据字符串比较选择一个值表单数据表?
- java - 如何将此代码从单链表复制到数组而不是数组列表
- python - 检查单元格是否包含字母的最快方法是什么?
- handlebars.js - 如何在handelbars中访问父母的@last?