Прескочи на основното съдържание

Как да намеря всички възможни суми на две числа в списък в Excel?

Автор: Слънце Последна промяна: 2020-11-20

Да предположим, че тук има списък с числа, сега можете ли да намерите всички възможни суми на две числа в този списък, както е показано на екранната снимка по-долу? В Excel няма вградена функция, която да реши тази задача. Сега ви представям VBA код, за да се справите с него.
doc всички възможни суми на две числа 1

Find all possible sums of two numbers in a list with VBA code

Find all possible combinations of two lists with List All Combinationsgood idea3


Find all possible sums of two numbers in a list with VBA code

Ако искате да намерите всички възможни суми на две числа в списък, можете да приложите кода VBA по-долу.

1. Натиснете Alt + F11 клавиши за показване на Microsoft Visual Basic for Applications прозорец.

2. кликване Insert > Module, копирайте и поставете кода по-долу в модула.

VBA: List all possible sums of two numbers in a list

Sub Combinations()
'UpdatebyExtendoffice20180628
    Dim xRgArr
    Dim xNum As Long
    Dim I, J, K As Long
    Dim xTemp As Double
    Dim xRg As Range
    Dim xRgCount As Long
    Dim xDic As New Dictionary
    On Error Resume Next
    Set xRg = Application.InputBox("Select a list (one column):", "KuTools for Excel", Selection.Address, , , , , 8)
    If (xRg Is Nothing) Or (xRg.Count = 1) Then Exit Sub
    xRgCount = xRg.Count
    K = 1
    ReDim xRgArr(1 To xRgCount)
    For Each xCell In xRg
      xRgArr(K) = xCell.Value
      K = K + 1
    Next
    K = 0
    For I = 1 To xRgCount
        For J = I + 1 To xRgCount
            xTemp = xRgArr(I) + xRgArr(J)
            If Not xDic.Exists(xTemp) Then
                xDic.Add CDbl(xTemp), CStr(xTemp)
                K = K + 1
            End If
        Next
    Next
    Range("C1").Resize(xDic.Count, 1) = Application.WorksheetFunction.Transpose(xDic.Keys)
End Sub

doc всички възможни суми на две числа 2

3. кликване Tools > References, в изскачащия диалогов прозорец поставете отметка Microsoft Scripting Runtime отметката.

doc всички възможни суми на две числа 3 doc стрелка надясно doc всички възможни суми на две числа 4

4. кликване OK за да затворите диалоговия прозорец, след което натиснете F5 за да стартирате кода, изскача диалогов прозорец, който ви напомня да изберете списък, за да намерите възможните суми.
doc всички възможни суми на две числа 5

5. кликване OK, тогава всички възможни суми на две числа в списъка са изброени в колона C.
doc всички възможни суми на две числа 6

Tip:в кодовия низ, Range("C1").Resize(xDic.Count, 1), можете да промените C1 в друга клетка, тъй като трябва да поставите резултата.


Find all possible combinations of two lists with List All Combinations

Ако искате да намерите или изброите всички възможни комбинации от два списъка, както е показано на екранната снимка по-долу, List All Combinations полезност на Kutools for Excel може да ви направи услуга.
doc всички възможни суми на две числа 7

Kutools за Excel, с повече от 300 удобни функции, прави работата ви по-лесна. 

1. кликване Kutools > Insert > List All Combinations.
doc всички възможни суми на две числа 8

2. В List All Combinations щракнете върху бутона за избор, за да изберете първия списък, който ще комбинирате.
doc всички възможни суми на две числа 9

3. кликване Add за да добавите списъка в Combinations list раздел.
doc всички възможни суми на две числа 10

4. Повторете стъпки 2 и 3, за да добавите втория списък към Combinations list.
doc всички възможни суми на две числа 11

5. След това кликнете Ok за да изберете клетка, за да поставите резултата от комбинацията.
doc всички възможни суми на две числа 12

6. кликване OK. Всички възможни комбинации са изброени в клетки.
doc всички възможни суми на две числа 13

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations