Column A
50
25
50
75
25
50
50
25
可以說我有上面的列。我想嘗試將列A中的所有數加起來爲100,然後顯示所有符合該條件的單元格。如何在列中添加至多給定數字的兩個單元格
這甚至可以在Excel中?
我試着把每一列逐一加起來......例如:= if(a1 + a2 = 100,1,0)並填充下來,但是這顯然不適用於整個範圍。
Column A
50
25
50
75
25
50
50
25
可以說我有上面的列。我想嘗試將列A中的所有數加起來爲100,然後顯示所有符合該條件的單元格。如何在列中添加至多給定數字的兩個單元格
這甚至可以在Excel中?
我試着把每一列逐一加起來......例如:= if(a1 + a2 = 100,1,0)並填充下來,但是這顯然不適用於整個範圍。
第一:它只能是兩個或更多數字的總和嗎?如果它可能更多,那麼你可以在這裏找到一個解決方案:https://www.extendoffice.com/documents/excel/3557-excel-find-all-combinations-that-equal-given-sum.html
否則我有一個快速和骯髒的方式來實現你所需要的。如果你在上面放置一個具有相同數字的轉置行(使用特殊粘貼),它非常容易。您創建一個表像圖中,寫這個公式中的第一個單元格:
=(100 = $A2+B$1)
然後公式拖動到其他所有細胞(它會自行調節),你可以清楚地看到所有的款項,如果他們平等100.
我有一個荷蘭的Excel版本,其中 「WAAR」 是真實的, 「ONWAAR」 是假的。
絕對精彩! – AfroJoe
我很感興趣,看看有人有答案,因爲這是一個非常有趣的問題。我的猜測是,你將不得不用O(n!)寫一些東西 - 這意味着它會很慢 –
它會像O(2^n)這樣的東西;如果您有8個值,則有256個可能性來包含/排除總和中的值。 (基本上8位)。 生成的算法可以進行一些優化,但是如果列表包含例如,則會遇到問題。 64個小值。 – Ronald
你可以嘗試貪心算法或樹遍歷,但任何方法都需要vba。 –