web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Get a combination resu...
Power Automate
Answered

Get a combination result based on excel list column

(0) ShareShare
ReportReport
Posted on by 23

Hello, 

I have a excel with below columns, 

Id Name
1 A
2 B
3 C

what I want to get is a combination result with below data in a new excel, and I would define the creation rule. 

Like only have combination of 2 numbers or 3 numbers, Can anyone share me a vbs script to do it? Really appreciate your helps. 

Id Name
1 A
2 B
3 C
1,2 A,B
1,3 A,C
2,3 B,C
2,4 B.D
3,4 C,D
1,2,3 A,B,C


I have the same question (0)
  • Verified answer
    MichaelAnnis Profile Picture
    5,727 Moderator on at

    From GPT...let me know if it works, lol.  Good luck!:

    Here is a VBScript that will generate combinations for you. It reads data from an Excel file, generates combinations based on your criteria, and then writes the results to a new Excel file. The script is set to generate combinations of 2 and 3, but you can adjust this according to your needs.

     

    Option Explicit
    
    Dim objExcel, objWorkbook, objWorksheet
    Dim arrData, arrResults(), strData
    Dim i, j, k, l, m, n
    
    ' Create Excel object and open workbook
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open("C:\Path\To\Input\Excel\File.xlsx")
    Set objWorksheet = objWorkbook.Worksheets(1)
    
    ' Read data from worksheet into array
    arrData = objWorksheet.UsedRange.Value
    
    ' Resize results array
    ReDim arrResults(UBound(arrData, 1) * (UBound(arrData, 1) - 1), 2)
    
    ' Generate 2-number combinations
    m = 0
    For i = 1 To UBound(arrData, 1)
     For j = i + 1 To UBound(arrData, 1)
     arrResults(m, 0) = arrData(i, 1) & "," & arrData(j, 1)
     arrResults(m, 1) = arrData(i, 2) & "," & arrData(j, 2)
     m = m + 1
     Next
    Next
    
    ' Generate 3-number combinations
    For i = 1 To UBound(arrData, 1)
     For j = i + 1 To UBound(arrData, 1)
     For k = j + 1 To UBound(arrData, 1)
     arrResults(m, 0) = arrData(i, 1) & "," & arrData(j, 1) & "," & arrData(k, 1)
     arrResults(m, 1) = arrData(i, 2) & "," & arrData(j, 2) & "," & arrData(k, 2)
     m = m + 1
     Next
     Next
    Next
    
    ' Create new workbook and worksheet
    Set objWorkbook = objExcel.Workbooks.Add
    Set objWorksheet = objWorkbook.Worksheets(1)
    
    ' Write results to new worksheet
    For n = 0 To m - 1
     objWorksheet.Cells(n + 1, 1).Value = arrResults(n, 0)
     objWorksheet.Cells(n + 1, 2).Value = arrResults(n, 1)
    Next
    
    ' Save and close new workbook
    objWorkbook.SaveAs "C:\Path\To\Output\Excel\File.xlsx"
    objWorkbook.Close
    
    ' Quit Excel
    objExcel.Quit
    

     

    You need to replace "C:\Path\To\Input\Excel\File.xlsx" and "C:\Path\To\Output\Excel\File.xlsx" with the paths to your input and output Excel files, respectively.

     

    The above script generates all possible combinations of 2 and 3 numbers. If you need to adjust the numbers of combinations, you can modify the loops that generate the combinations.

     

    Please note, this script assumes that the input Excel file has two columns ('Id' and 'Name') and that the data starts in the first row of the worksheet. If your file is set up differently, you may need to adjust the script accordingly.

     

    Also, please be aware that VBScript can only be executed on Windows systems. If you're using a different operating system, you might need to use a different scripting language.

  • JianRong_CHANG Profile Picture
    23 on at

    @MichaelAnnis  

    It works. thank you very much.

     

    By the way, is it possible to optimize the script, for example, has a message box for user: 

    if user input2, then there will be only 2 numbers result in new excel.

    if user input2,3, then there will be both 2 and three numbers result in new excel. 

     

    Forgive me as a newbie, but I do not know how to adjust the number to 4, if I need 4 number result in excel. 

    May I have a common script for what I needed? 

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
David_MA Profile Picture

David_MA 262 Super User 2026 Season 1

#2
11manish Profile Picture

11manish 167

#3
Haque Profile Picture

Haque 154

Last 30 days Overall leaderboard