VBA 选择一列中总和为设定点的元素,并选择下一列中相应元素的平均为设定点?

VBA 选择一列中总和为设定点的元素,并选择下一列中相应元素的平均为设定点?

笔记:以下解决方案来自 excel 函数,仅用于说明问题所在。最终解决方案需要 VBA(或在提供的空间中工作的 excel 函数,即不需要额外空间)。

如图所示,我的文件有两列(任意数量的行)。

我需要扫描两列,以找到任意数量的第 1 列值,这些值相加后与设定点 (E2) 匹配,以及第 2 列值的平均数与设定点 (E3) 匹配。一个限制是第 1 列和第 2 列中选定的值必须来自同一行(在图中以蓝色和绿色突出显示)。

以下解决方案的解释: 它应该做的是说“A2 和 A6 的总和为 7(匹配单元格 E2),而相应的 B2 和 B6 的平均值为 3”(匹配单元格 E3)。因此,应该以任何适当的方式选择/突出显示这些行。

不能作为解决方案的示例: 它不可能是 A4 和 A5,因为虽然它们加起来是 7,但 B4 和 B5 的平均值为 1.5,而不是设定点 3。

问题图像(突出显示解决方案):

在此处输入图片描述

更新:在 /r/excel 上找到了其中一种情况的解决方案。此解决方案(如下)仅适用于有两行将求和/平均到设定点的情况。它不适用于需要两行以上的情况。该解决方案应该适用于所需的任何行数。

“两行”情况的解决方案:
需要三行的示例(解决方案是前三行):

此解决方案的原因:B6:B8 求和至设定点 8,C6:C8 求平均至设定点 3
笔记:由于至少需要使用 Excel 函数方法添加两个额外的列,因此最好使用 VBA 代码。

相关内容