Θέλω να φτοιάξω στο excel να μου τυπώνει το γινόμενο από όλες τις δυνατές 3άδες από μια δεξαμενή 16 μη συνεχόμενων αριθμών και να τυπώνει επίσης μόνο τους συνδυασμούς που το γινόμενό τους είναι μοναδικό.
Έχουμε πχ τους εξής 16 αριθμούς : 1,3,4,6,7,9,12,19,23,32,39,44,46,50,55,60.
Απότι βρήκα στο νετ όλοι οι δυνατοί συνδυασμοί σε 3άδες των παραπάνω είναι 560.Εγώ από τους 560 συνδυασμούς θέλω μόνο αυτούς που έχουν μοναδικό (όχι ίδιο) αποτέλεσμα.
Η λίστα θα πήγαινε κάπως έτσι :
1*3*4=12
1*3*6=18
1*3*7=21
1*3*9=27
κλπ,κλπ....
Βρήκα ένα online calculator αλλά δυστυχώς είναι μέχρι 200 το πολύ συνδυασμούς.
Εμφάνιση 1-6 από 6
-
23-06-24, 19:15 Excel Συνδυασμός n αριθμών #1
-
23-06-24, 20:02 Απάντηση: Excel Συνδυασμός n αριθμών #2
Θέλεις να το κάνεις συγκεκριμένα στο excel ή γενικά; Γενικά με ένα python script είναι πολύ πιο εύκολο, αποτι στο excel.
Και στο excel με VBA είναι πιο εύκολο από το να ψάχνεις τα κελιά!
-
23-06-24, 20:25 Απάντηση: Excel Συνδυασμός n αριθμών #3
Δεν γνωρίζω python.Μόνο VBA γνωρίζω.
-
23-06-24, 20:33 Απάντηση: Excel Συνδυασμός n αριθμών #4
Αν γνωρίζεις VBA λογικά θα σου είναι εύκολο να το φτιάξεις και να κάνεις ένα print τα αποτελέσματα!
-
23-06-24, 20:51 Απάντηση: Excel Συνδυασμός n αριθμών #5
Άμα το γνώριζα πως να το κάνω δεν θα άνοιγα το θέμα εδώ.
VBA ξέρω τα βασικά.
-
26-06-24, 13:34 Απάντηση: Excel Συνδυασμός n αριθμών #6
Δεν τα πάω καλά με τη VBA, αλλά αυτό που θέλεις, με έναν απλοϊκό τρόπο, γίνεται κάπως έτσι:
Κώδικας:Sub Test() Dim numbers() numbers() = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Dim calculations As New Scripting.Dictionary Dim result As Integer For i = LBound(numbers) To UBound(numbers) For j = i + 1 To UBound(numbers) For k = j + 1 To UBound(numbers) result = numbers(i) * numbers(j) * numbers(k) If Not calculations.Exists(result) Then calculations.Add result, (numbers(i) & " * " & numbers(j) & " * " & numbers(k)) End If Next k Next j Next i Dim final As String For Each i In calculations.Keys final = final & calculations(i) & " = " & i & vbNewLine Next i Debug.Print final ' MsgBox (final) End Sub
Bookmarks