Как определить, какие значения в заданном наборе ячеек будут содержать числовой диапазон

Другими словами, я ищу диапазон сумм, который состоит из комбинаций ячеек из массива. Учитывая набор чисел:

1 720 56 17 59 120 153 203 39 1 690 583 582 561 256 310 232 95 108 16 26 59 538 445 42 149

  • Функция Excel TEXT не работает должным образом
  • Динамически ссылаться на столбцовую колонку (через содержимое ячейки) в Excel
  • Excel SUMIFS на основе двух критериев
  • Формула Excel 2010 для удаления повторяющегося контента на основе значения
  • Как заполнить формулу так, чтобы ссылки диапазона были смещены на 5 строк, а не на 1 строку
  • Как я могу определить, существует ли лист a в рабочей книге?
  • ( call this A1:A26 )

    Сумма, которую я ищу, составляет 1000-1500 . Я хотел бы видеть, какие комбинации любых ячеек от A1:A5 будут иметь сумму в этом диапазоне. Например, взяв сумму ( A23, A24, A26 ) или сумму ( A2, A11 ).

    Количество клеток или комбинаций не имеет значения, если сумма попадает в заданный диапазон. Кроме того, мне нужно иметь возможность идентифицировать ячейки, используемые в каждой комбинации.

    Я благодарен всем, кто может облегчить мою жизнь.
    Спасибо.

  • Excel для подсчета количества одновременных сеансов в зависимости от времени начала и окончания
  • Как переносить и группировать данные в Excel 2010?
  • Выполнение SQL-запроса с помощью VBA и заполнение листом данных
  • Как разделить одну строку на несколько строк с Excel?
  • Формула Excel для сравнения одного значения в одной ячейке с несколькими значениями в другой ячейке
  • Возвращайте значение, учитывая, что число находится в определенном диапазоне
  • One Solution collect form web for “Как определить, какие значения в заданном наборе ячеек будут содержать числовой диапазон”

    Пойдем в другом направлении и покажем, какие две ячейки можно суммировать для соответствия критерию, см. Изображение ниже.

    Еще большая проблема вопроса. Я буду продолжать играть с более полным ответом VBA, если это возможно.

    Введите описание изображения здесь

    Я должен немного отдохнуть, но вот что я сделал, чтобы показать вам отличные ценности, которые отвечали бы критериям. Я ни в коем случае не специалист в VBA, я просто воспринял это как учебный опыт. Я уверен, что нарушил несколько правил.

     Sub WhatCanSUM() Dim lst As Range Dim i As Integer Dim j As Integer Dim k As Integer Dim ilst1 As Integer Dim ilst2 As Integer Dim ilst3 As Integer Dim ilst4 As Integer Dim ilst5 As Integer Dim ilst6 As Integer Dim ilst7 As Integer Dim ilst8 As Integer Dim ilst9 As Integer Dim ilst10 As Integer Dim ilst11 As Integer Dim ilst12 As Integer Dim ilst13 As Integer Dim ilst14 As Integer Dim ilst15 As Integer Dim ilst16 As Integer Dim ilst17 As Integer Dim ilst18 As Integer Dim ilst19 As Integer Dim ilst20 As Integer Dim ilst21 As Integer Dim ilst22 As Integer Dim ilst23 As Integer Dim ilst24 As Integer Dim ilst25 As Integer Dim ilst26 As Integer Dim lwrlmt As Integer Dim uprlmt As Integer Dim result As Integer Set lst = Sheet1.Range("lstNumbers") i = 1 j = 1 k = 1 ilst1 = lst.Item(1).Value ilst2 = lst.Item(2).Value ilst3 = lst.Item(3).Value ilst4 = lst.Item(4).Value ilst5 = lst.Item(5).Value ilst6 = lst.Item(6).Value ilst7 = lst.Item(7).Value ilst8 = lst.Item(8).Value ilst9 = lst.Item(9).Value ilst10 = lst.Item(10).Value ilst11 = lst.Item(11).Value ilst12 = lst.Item(12).Value ilst13 = lst.Item(13).Value ilst14 = lst.Item(14).Value ilst15 = lst.Item(15).Value ilst16 = lst.Item(16).Value ilst17 = lst.Item(17).Value ilst18 = lst.Item(18).Value ilst19 = lst.Item(19).Value ilst20 = lst.Item(20).Value ilst21 = lst.Item(21).Value ilst22 = lst.Item(22).Value ilst23 = lst.Item(23).Value ilst24 = lst.Item(24).Value ilst25 = lst.Item(25).Value ilst26 = lst.Item(26).Value lwrmt = 1000 uprlmt = 1500 result = 0 '=============================================================================================== 'Create worksheet if it doesnt exist. Dim wrslt As Worksheet Const strSheetName As String = "Results" Set wrslt = Nothing On Error Resume Next Set wrslt = ActiveWorkbook.Worksheets(strSheetName) On Error GoTo 0 If wrslt Is Nothing Then Worksheets.Add.Name = strSheetName End If '=============================================================================================== 'Little header messagge Set wrslt = ActiveWorkbook.Worksheets(strSheetName) wrslt.Cells.Delete wrslt.Cells(1, 1).Value = "Resulting Additions that 2 distinct cells that sum up to >=" & lwrmt & " and <=" & uprlmt '=============================================================================================== 'The Loop For j = 1 To lst.Rows.Count For i = 1 To lst.Rows.Count ilst2 = lst.Item(i + 1).Value result = (ilst1 + ilst2) If ilst1 <> ilst2 And result >= lwrmt And result <= uprlmt Then wrslt.Cells(i + 1, j).Value = ilst1 & " + " & ilst2 End If Next i ilst1 = lst.Item(j + 1).Value Next j MsgBox ("Done") '=============================================================================================== 'Formatting wrslt.Range("A1:M1").Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Selection.Merge wrslt.Cells.EntireColumn.AutoFit wrslt.Cells.SpecialCells(xlCellTypeConstants, 23).Select End Sub 

    Макрос создает изображение ниже. Введите описание изображения здесь

    Давайте будем гением компьютера.