Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 根据逻辑从2列中检索最大数据_Excel_Vba_Excel Formula - Fatal编程技术网

Excel 根据逻辑从2列中检索最大数据

Excel 根据逻辑从2列中检索最大数据,excel,vba,excel-formula,Excel,Vba,Excel Formula,我有一张桌子,在那里我需要得到最大数量。从下表中可以看到1号包。 逻辑如下 -它应该从B列和C列中的项目总和中选取最大值。 -如果此总和与另一个原始值匹配,则应从C列的最大值中选取内容 因此,在下面的示例中,它应该选择数据包1 此外,我需要根据此选择检索这两列值,以便我可以使用它们进行另一次计算,如下所示 计算=苹果数量(从C列中提取的最大数量)+芒果数量(从C列中提取的最大数量) 比如说:单元格R1=苹果的数量,R2=芒果的数量 最初的努力(尚未奏效): 您需要一个包含嵌套查找的公式。首先,

我有一张桌子,在那里我需要得到最大数量。从下表中可以看到1号包。 逻辑如下 -它应该从B列和C列中的项目总和中选取最大值。 -如果此总和与另一个原始值匹配,则应从C列的最大值中选取内容

因此,在下面的示例中,它应该选择数据包1

此外,我需要根据此选择检索这两列值,以便我可以使用它们进行另一次计算,如下所示

计算=苹果数量(从C列中提取的最大数量)+芒果数量(从C列中提取的最大数量)

比如说:单元格R1=苹果的数量,R2=芒果的数量

最初的努力(尚未奏效):


您需要一个包含嵌套查找的公式。首先,收集一组包含B列和C列最大和的行(数据包)。从该集合中,确定哪一个包含C列中的最大值

=INDEX(A:A, AGGREGATE(15, 7, ROW(2:5)/((B2:B5+C2:C5=AGGREGATE(14, 7, (B2:B5+C2:C5), 1))*(C2:C5=AGGREGATE(14, 7, C2:C5/(B2:B5+C2:C5=AGGREGATE(14, 7, (B2:B5+C2:C5), 1)), 1))), 1))
如果两个或更多列在C列中包含相似的最大值,则返回第一个

=查找(1,0/频率(0,1/(1+MMULT(B2:C5,{1;1})+C2:C5/10^6)),A2:A5)

请注意,
{1;1}
部分表示一个2行1列(即垂直)数组,并且其中的分隔符(分号)可能需要根据所用Excel版本的区域设置进行修改


关于

我在这里找不到任何解决方案。我正在寻找解决方案。你能展示你尝试过的内容并解释应该是什么答案吗?@Jeeped:对不起,我是excel公式的新手。我很难尝试的是每列的最大值。任何解决方案都将不胜感激。谢谢!谢谢!如果这个范围是动态的,该怎么办。就像上面的示例一样,有4个数据包。如果数据包变为100,该怎么办?如果添加了新的标准,则此响应无效,那么它将看起来是一个。请不要在原始问题中添加“但是如果…”。关于如何生成具有动态范围的循环公式,也有很多示例;我写了不少。搜索
A2:INDEX(a:a,MATCH(1e99,a:a))
了解如何在最小化计算周期的同时创建动态范围。哈!我只是在谷歌上搜索了我提供的搜索短语,并得出了我自己的一个回答作为最重要的结果。它准确地显示了如何完成你要找的内容。我希望你能发现它提供了信息。你能提供一个一两句话的解释/提醒吗r关于
{1;1}
中的分号对懒惰的老我和未来的每一个优雅公式的观众有什么作用?是值的速记转换吗?吉普说得很好,因为分隔符不是独立于版本的。我让你走!
=INDEX(A:A, AGGREGATE(15, 7, ROW(2:5)/((B2:B5+C2:C5=AGGREGATE(14, 7, (B2:B5+C2:C5), 1))*(C2:C5=AGGREGATE(14, 7, C2:C5/(B2:B5+C2:C5=AGGREGATE(14, 7, (B2:B5+C2:C5), 1)), 1))), 1))