2016-10-22 25 views
0

我有一個excel文件,其中包含數字代表文件大小的列,每個數字是一個浮點數與最大小數位數爲2例如:23.04)。總的細胞數是(277個細胞)。我想要自動將合計的細胞()或儘可能接近(1000)。所有單元的總和(5739.49),因此,應該有(4)細胞的組,每個加起來(1000)和最後一個(第五組)不要緊如何它加起來很多。現在:如何獲得不同的單元組,每個添加到一定的數字

  • 我知道,這可以通過使用「求解器」在Excel中爲每個組解決,但我敢 不知道我應該用什麼樣的約束和解決方法(即單純,GRG非線性或進化)方法,因爲我不熟悉它

預先感謝您

+0

標準求解器在Excel中有一個[決策變量上限(http://www.solver.com/standard -excel-solver-dealing-problem-size-limits)爲200.你的問題有277(每個單元屬於哪個組)。 – OldUgly

+0

我知道,我們可以採取第一200的價值第一 –

回答

1

正如我在評論中提到,在Excel中的標準求解器有200個決策變量的最大限制。

本示例僅限於200個變量 - 如果您有保費解算器,則可以展開解決方案。這是使用Excel 2016

工作表設置

  1. A列中包含數據的大小來完成。
  2. 列B包含列A中每個成員都屬於的「組」。它最初使用公式=RANDBETWEEN(1,5)進行填充。然後使用複製/粘貼特殊值 - 覆蓋它。
  3. D列包含標記爲1至5的聚合組。
  4. 列E包含每個組內的聚合大小。計算公式爲:=SUMIF($B$2:$B$201,"="&D2,$A$2:$A$201)
  5. 列F包含每個組的目標值(組1到4的1000,組5的忽略)。
  6. G列包含每個組的目標值的平方誤差。計算公式爲=(E2-F2)^2
  7. 單元格G7將是「設置目標」單元格並且是誤差平方和。計算公式爲=SUM(G2:G5)

下面是安裝工作表的屏幕截圖,在使用求解器之前。

enter image description here

求解器設置

求解器是安裝下列標準...

  1. 「既定目標:」 是$G$7
  2. 「到:」 是 「最小」
  3. 「通過改變可變室:」 是$B$2:$B$201
  4. 「符合約束條件:」 包括:$B$2:$B$201 <= 5$B$2:$B$201 = integer$B$2:$B$201 >= 1
  5. 「選擇解決方法:」是Evolutionary。注意:您可以使用GRG,但速度會更慢。
  6. 在「選項」中,在「所有方法」選項卡的「解決整數約束」區域中,確保Ignore Integer Constraints而不是檢查。

以下是規劃求解參數對話框的屏幕截圖:

enter image description here

解決方案

你的最佳區域可能是「平」,因此有多種可能的解決方案。

下面是我產生一個解決方案的屏幕截圖...

enter image description here

+0

我感謝你的努力,並花時間回答我,我一定會嘗試...好主意你是如何使用最小化的概念,就像在神經網絡 –

+0

您如何安排A列中的哪個值屬於B列中的哪個組? –

+0

我試過你的解決方案,在另一個例子中,我用誤差函數作爲差異的絕對值,即ABS(EF),因爲我的初始誤差範圍從負到正,並且它們的值也相當可觀 –

相關問題