Πώς να παραθέσω όλους τους πιθανούς συνδυασμούς από μία στήλη στο Excel;
Εάν θέλετε να επιστρέψετε όλους τους πιθανούς συνδυασμούς από δεδομένα μιας στήλης για να λάβετε το αποτέλεσμα όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης, έχετε κάποιους γρήγορους τρόπους για να αντιμετωπίσετε αυτήν την εργασία στο Excel;
Καταγράψτε όλους τους πιθανούς συνδυασμούς από μία στήλη με τύπους
Καταγράψτε όλους τους πιθανούς συνδυασμούς από μία στήλη με κωδικό VBA
Καταγράψτε όλους τους πιθανούς συνδυασμούς από μία στήλη με τύπους
Οι παρακάτω τύποι πίνακα μπορούν να σας βοηθήσουν να επιτύχετε αυτήν τη δουλειά, κάντε βήμα προς βήμα:
1. Αρχικά, θα πρέπει να δημιουργήσετε δύο βοηθητικά κελιά τύπου. Στο κελί C1, εισαγάγετε τον παρακάτω τύπο και πατήστε Ctrl + Shift + Εισαγωγή κλειδιά για το αποτέλεσμα:
2. Στο κελί C2, εισαγάγετε τον ακόλουθο τύπο και πατήστε Ctrl + Shift + Εισαγωγή τα πλήκτρα μαζί για να λάβετε το δεύτερο αποτέλεσμα, δείτε στιγμιότυπο οθόνης:
3. Στη συνέχεια, αντιγράψτε και επικολλήστε τον ακόλουθο τύπο στο κελί D2 και πατήστε Ctrl + Shift + Εισαγωγή πλήκτρα μαζί για να λάβετε το πρώτο αποτέλεσμα, δείτε το στιγμιότυπο οθόνης:
4. Στη συνέχεια, επιλέξτε αυτό το κελί τύπου και σύρετε τη λαβή πλήρωσης προς τα κάτω μέχρι να εμφανιστούν κενά κελιά. Τώρα, μπορείτε να δείτε ότι όλοι οι συνδυασμοί των καθορισμένων δεδομένων στηλών εμφανίζονται όπως φαίνεται στην παρακάτω επίδειξη:
Καταγράψτε όλους τους πιθανούς συνδυασμούς από μία στήλη με κωδικό VBA
Οι παραπάνω τύποι είναι διαθέσιμοι μόνο για νεότερες εκδόσεις του Excel, εάν έχετε παλαιότερες εκδόσεις του Excel, ο παρακάτω κώδικας VBA μπορεί να σας κάνει τη χάρη.
1. Τύπος Alt + F11 ταυτόχρονα για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.
2. Στη συνέχεια, κάντε κλικ στο κουμπί Κύριο θέμα > Μονάδα μέτρησης, αντιγράψτε και επικολλήστε τον παρακάτω κώδικα VBA στο παράθυρο.
Κωδικός VBA: Καταχωρίστε όλους τους πιθανούς συνδυασμούς από μία στήλη
Sub ConnectArr()
'Updateby ExtendOffice
Dim xDValue As Variant
Dim xOutRg As Range
Dim xDictionary As Object
Dim xF As Long
Dim xChar As String
xDValue = Range("A2:A6").Value 'the data range
Set xOutRg = Range("C1") 'output range
xChar = "," 'separator
For xF = 1 To UBound(xDValue)
Set xDictionary = CreateObject("Scripting.Dictionary")
xDictionary(0) = "Sets of " & xF
Call ConnectValue(xDValue, xDictionary, 0, xF, 0, "", xChar)
xOutRg.Offset(0, xF - 1).Resize(xDictionary.Count).Value = WorksheetFunction.Transpose(xDictionary.Items)
Set xDictionary = Nothing
Next
End Sub
Sub ConnectValue(ByRef pDValue, ByRef pDictionary, ByRef pLevel, ByVal pMaxLevel, ByVal pIndex, ByVal pValue, ByVal pChar)
Dim xF As Long
If pLevel = pMaxLevel Then
pDictionary(pDictionary.Count + 1) = pValue
Exit Sub
End If
For xF = pIndex + 1 To UBound(pDValue)
If pValue = "" Then
Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pDValue(xF, 1), pChar)
Else
Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pValue & pChar & pDValue(xF, 1), pChar)
End If
Next
End Sub
- A2: A6: είναι η λίστα των δεδομένων που θέλετε να χρησιμοποιήσετε.
- C1: είναι το κελί εξόδου.
- ,: ο οριοθέτης για τον διαχωρισμό των συνδυασμών.
3. Και μετά, πατήστε F5 κλειδί για την εκτέλεση αυτού του κώδικα. Όλοι οι συνδυασμοί από τη μεμονωμένη στήλη παρατίθενται όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!