【问题标题】:How to find two cells in a column that add up to a given number如何在一列中找到两个加起来等于给定数字的单元格
【发布时间】:2017-08-25 21:37:16
【问题描述】:
Column A        
50              
25
50
75
25
50
50
25

假设我有上面的专栏。我想尝试将 A 列中所有加起来为 100 的数字相加,然后显示所有符合该条件的单元格。

这在 Excel 中是否可行?

我尝试将每一列一一相加...例如:=if(a1+a2=100,1,0) 并填写,但这显然不适用于整个范围。

【问题讨论】:

  • 我很想看看是否有人有答案,因为这是一个非常有趣的问题。我的猜测是你将不得不用 O(n!) 写一些东西——这意味着它会很慢
  • 这将类似于 O(2^n);如果您有 8 个值,则有 256 种可能性从总和中包含/排除值。 (基本上是 8 位)。生成的算法可以进行一些优化,但如果列表包含例如,你会遇​​到问题。 64 个小值。
  • 你可以尝试贪心算法,或者树遍历,但是任何方法都需要 vba。

标签: excel excel-formula


【解决方案1】:

首先:它必须只是两个或更多数字的总和吗?如果可能更多,那么您可以在这里找到解决方案:https://www.extendoffice.com/documents/excel/3557-excel-find-all-combinations-that-equal-given-sum.html

否则,我有一种快速而肮脏的方式来实现您的需求。如果您在上面放置一个具有相同数字的转置行(带有特殊粘贴),那真的很容易。你创建一个像图中一样的表格,在第一个单元格中写下这个公式:

=(100 = $A2+B$1)

然后将公式拖到所有其他单元格(它会自行调整),您可以清楚地看到所有总和是否等于 100。

我有一个荷兰语 Excel 版本,其中“WAAR”为真,“ONWAAR”为假。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多