2017-08-25 13 views
0
Column A   
50    
25 
50 
75 
25 
50 
50 
25 

私は上記の列を持っていると言います。私は列Aに100を加えたすべての数値を合計し、その基準に一致するすべてのセルを表示しようとします。与えられた数になる列に2つのセルを見つける方法

これはExcelでも可能ですか?

私は各列を1つずつ追加しようとしました。たとえば:=(a1 + a2 = 100,1,0)と記入してください。しかし、これは明らかに全範囲で行いません。

+0

これは本当に興味深い問題であるので、誰かが答えを持っているかどうかを調べることに興味があります。私の推測では、あなたはO(n!)で何かを書く必要があるということです。それは非常に遅いことを意味します。 –

+0

O(2^n)のようなものになります。 8つの値がある場合、合計から値を含める/除外する可能性は256あります。 (基本的に8ビット)。 結果のアルゴリズムはいくらか最適化することができますが、リストが例えば次のようなものであれば問題に遭遇します。 64小さい値。 – Ronald

+0

グリーディ・アルゴリズムやツリー・トラバーサルを試すことができますが、どの方法にもvbaが必要です。 –

答えて

1

まず、2つ以上の数字の合計以上である必要がありますか?それ以上あれば、ここで解決策を見つけることができます:https://www.extendoffice.com/documents/excel/3557-excel-find-all-combinations-that-equal-given-sum.html

それ以外の場合は、必要なものを達成するための迅速かつ汚れた方法があります。上の数字が同じで転置された行を貼り付けると、それは本当に簡単です。あなたは、図面のような表を作成し、最初のセルにこの数式を書く:

=(100 = $A2+B$1) 

そして、他のすべてのセル(それは自分自身を調整します)に式をドラッグして、それらが等しい場合は、明確にすべての合計のために見ることができます100

enter image description here

私は「WAARが」真であり、「ONWAAR」偽であるオランダのExcelのバージョンを持っています。

+0

絶対に素晴らしい! – AfroJoe

関連する問題