Hvordan finder man alle mulige summer af to tal på en liste i Excel?
Antag her er en liste over numre. Kan du nu finde alle mulige summer af to tal på denne liste som vist nedenstående skærmbillede? I Excel er der ingen indbygget funktion, der kan løse dette job. Nu introducerer jeg dig en VBA-kode til at håndtere den.
Find all possible sums of two numbers in a list with VBA code
Find all possible combinations of two lists with List All Combinations
Find all possible sums of two numbers in a list with VBA code
Hvis du vil finde alle mulige summer af to tal på en liste, kan du anvende nedenstående VBA-kode.
1. Trykke Alt + F11 for at få vist Microsoft Visual Basic for Applications vindue.
2. klik Insert > Module, kopier og indsæt nedenstående kode til modulet.
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
3. klik Tools > References, i poppedialogen, skal du kontrollere Microsoft Scripting Runtime afkrydsningsfelt.
4. klik OK for at lukke dialogen, tryk derefter på F5 for at køre koden, vises en dialogboks, der minder dig om at vælge en liste for at finde de mulige summer.
5. klik OK, så er alle mulige summer af to tal på listen anført i kolonne C.
Tip: I kodestrengen, Range ("C1"). Ændr størrelse (xDic.Count, 1), du kan ændre C1 til en anden celle, da du skal placere resultatet.
Find all possible combinations of two lists with List All Combinations
Hvis du vil finde eller liste alle mulige kombinationer af to lister som vist nedenstående skærmbillede, vises List All Combinations nytte af Kutools for Excel kan gøre dig en tjeneste.
Kutools til Excel, med mere end 300 praktiske funktioner, der gør dine job lettere. |
1. klik Kutools > Insert > List All Combinations.
2. i List All Combinations Klik på valgknappen for at vælge den første liste, du vil kombinere.
3. klik Add for at tilføje listen til Combinations list sektion.
4. Gentag trin 2 og 3 for at tilføje den anden liste til Combinations list.
5. Klik derefter på Ok for at vælge en celle for at placere kombinationsresultatet.
6. klik OK. Alle mulige kombinationer er blevet opført i celler.