Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Посчитайте возможную сумму при выборе 6 чисел из столбца из 12 чисел.

Автор beauharlan, 27.08.2024, 13:20

« назад - далее »

beauharlan

Здравствуйте, проблема кажется простой, но до сих пор я так и не понял, как ее решить.

— У меня есть столбец из 12 ячеек с цифрами. Требуется вычислить все возможные суммы любой группы из 6 чисел, выбранных из этих 12.

Может ли кто-нибудь мне помочь? Благодарить.

Hugo121

Ну сумма группы всегда одна - ещё в первом классе учили что от перемены мест... и т.д.
Если же нужны все суммы всех комбинаций этих выбранных чисел - нужны циклы в циклах.

Ответ ИИ, но исправленный, накосячил ИИ как обычно...
Ниже приведен код на VBA, который вычисляет сумму всех возможных комбинаций из шести чисел:
Sub ComboSum()
    Dim nums As Variant
    Dim i As Long, j As Long, k As Long, l As Long, m As Long, n As Long
    Dim sum As Long

    nums = Array(1, 2, 3, 4, 5, 6) ' Замените числа на свои

    For i = LBound(nums) To UBound(nums)
        For j = i + 1 To UBound(nums)
                                    sum = nums(i) + nums(j)
                            Debug.Print nums(i); nums(j); "Sum = "; sum
            For k = j + 1 To UBound(nums)
                                        sum = nums(i) + nums(j) + nums(k)
                            Debug.Print nums(i); nums(j); nums(k); "Sum = "; sum
                For l = k + 1 To UBound(nums)
                                            sum = nums(i) + nums(j) + nums(k) + nums(l)
                            Debug.Print nums(i); nums(j); nums(k); nums(l); "Sum = "; sum
                    For m = l + 1 To UBound(nums)
                                                sum = nums(i) + nums(j) + nums(k) + nums(l) + nums(m)
                            Debug.Print nums(i); nums(j); nums(k); nums(l); nums(m); "Sum = "; sum
                        For n = m + 1 To UBound(nums)
                            sum = nums(i) + nums(j) + nums(k) + nums(l) + nums(m) + nums(n)
                            Debug.Print nums(i); nums(j); nums(k); nums(l); nums(m); nums(n); "Sum = "; sum
                        Next n
                    Next m
                Next l
            Next k
        Next j
    Next i
End Sub
Этот код создает все возможные комбинации из шести чисел и вычисляет их сумму. Пожалуйста, замените числа в массиве nums на свои числа.
webmoney: E265281470651 Z422237915069