Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Excel07] ΔΙΑΤΑΞΕΙΣ (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/6518-diatakseis.html)

aggelaki83 02-07-24 14:14

ΔΙΑΤΑΞΕΙΣ
 
1 Συνημμένο(α)
Καλησπέρα,
Πριν 3 χρόνια με είχατε βοηθήσει (και με είχατε σώσει) σε όλους τους πιθανούς συνδυασμούς που μπορεί να πάρω από χ μεταβλητές ανά χ ερωτήσεις. Βρήκα το post αλλά δεν βλέπω κάποια συνάρτηση για να μπορέσω να το κάνω. Μήπως μπορείτε να με βοηθήσετε ξανά; Επισυνάπτω ένα excel με ακριβώς τι ψάχνω να βρω.
Ευχαριστώ πολύ
Αγγελική

ChrisGT7 02-07-24 21:00

Καλησπέρα Αγγελική,

Λέγοντας διατάξεις, εννοείς πως θέλεις να δεσμεύσεις για κάθε άθλημα τόσες στήλες όσες και οι ερωτήσεις και να εμφανιστούν σε γραμμές όλοι οι πιθανοί συνδυασμοί με αριθμούς από το 1 μέχρι το 4;

Παράδειγμα:
Για την Κολύμβηση χρειάζεσαι σε 7 στήλες όλους τους πιθανούς συνδυασμούς βαθμολογιών. Δηλαδή:
1-1-1-1-1-1-1
1-2-1-1-1-1-1
1-1-2-1-1-1-1
1-1-1-2-1-1-1
κ.ο.κ.

aggelaki83 02-07-24 21:20

Παράθεση:

Αρχική Δημοσίευση από ChrisGT7 (Μήνυμα 35846)
Καλησπέρα Αγγελική,

Λέγοντας διατάξεις, εννοείς πως θέλεις να δεσμεύσεις για κάθε άθλημα τόσες στήλες όσες και οι ερωτήσεις και να εμφανιστούν σε γραμμές όλοι οι πιθανοί συνδυασμοί με αριθμούς από το 1 μέχρι το 4;

Παράδειγμα:
Για την Κολύμβηση χρειάζεσαι σε 7 στήλες όλους τους πιθανούς συνδυασμούς βαθμολογιών. Δηλαδή:
1-1-1-1-1-1-1
1-2-1-1-1-1-1
1-1-2-1-1-1-1
1-1-1-2-1-1-1
κ.ο.κ.

Γεια σου Χρήστο...
Καλύτερα να πούμε συνδυασμούς... αλλά για όλα τις πιθανές περιπτώσεις στο σύνολο. Αν δεις στο excel κάθε σειρά έχει τις ερωτήσεις για όλα τα αθλήματα. Οπότε το πιο εύκολο παράδειγμα για να καταλάβεις είναι:
1ος συνδυασμός: Όλα 1 για όλα τα αθλήματα
2ος συνδυασμός: όλα 1 εκτός από την τελευταία ερώτηση του τελευταίου κατά σειρά αθλήματος που θα έχει 2
3ος συνδρθασμός: όλα 1 αλλά η τελευταία ερώτηση του τελευταίου κατά σειρά αθλήματος (δλδ αυτό που είχε 2), θα έχει 3. κοκ
Θα μαζευτούν άπειροι συνδυασμοί προφανώς...
Κάθε ερωτώμενος απαντάει σε όλες αυτές τις ερωτήσεις που αφορούν το κάθε άθλημα και στο τέλος θα πάρει έναν βαθμό στο σύνολο...
Είμαι σαφής;

aggelaki83 02-07-24 22:11

Ή αλλιώς μεταθέσεις αντί συνδυασμούς;
Κάποια VBA ίσως;

ChrisGT7 03-07-24 06:38

Καλημέρα Αγγελική,

Σίγουρα θα πρέπει να γίνει με κώδικα VBA για να εμφανιστούν όλοι οι συνδυασμοί.

Επειδή δεν έχω ασχοληθεί με συνδυασμούς και διατάξεις (αμυδρά ό,τι θυμάμαι παλιά από τη σχολή), ψάχνοντας λίγο στο διαδίκτυο, βρήκα αυτή τη σελίδα για τους συγκεκριμένους υπολογισμούς.

Στο παράδειγμά σου:

1. Συνδυασμοί
Πλήθος στοιχείων (50, το σύνολο ερωτήσεων) και Στοιχεία διάταξης: 4 (1 μέχρι 4) = 230.300
Φαίνεται πως η συνάρτηση COMBIN(50;4) αποδίδει αυτό το σύνολο.

2. Διατάξεις
Πλήθος στοιχείων (50, το σύνολο ερωτήσεων) και Στοιχεία διάταξης: 4 (1 μέχρι 4) = 5.527.200
Φαίνεται πως η συνάρτηση PERMUT(50;4) αποδίδει αυτό το σύνολο.

Κάτι τέτοιο χρειάζεσαι; Και από ότι βλέπω τα νούμερα είναι αρκετά μεγάλα, ενώ στη δεύτερη περίπτωση (γραμμές φύλλου εργασίας 1.048.576) πιστεύω ο χρόνος εμφάνισης και ανοίγματος του αρχείου σε περίπτωση αποθήκευσης, θα είναι απογοητευτικός.

aggelaki83 03-07-24 11:08

1 Συνημμένο(α)
Καλημέρα Χρήστο,
Καταλαβαίνω. Μάλλον δεν γίνεται με τόσα εκατομμύρια συνδυασμούς.
Επειδή αφορά ίδιο θέμα, να ρωτήσω κάτι παρόμοιο.
Θα ήθελα για τα 6 γράμματα που έχω στο excel να φτιάξω όλες τις πιθανές διατάξεις από 1 έως 3 στοιχεία σε κάθε γραμμή, αλλά να μην επαναλαμβάνεται το ίδιο γράμμα σε κάθε διάταξη. Από έναν υπολογισμό που έκανα ψάχνοντας στο διαδίκτυο βρήκα ότι βγαίνουν περίπου 240 διατάξεις αν θυμάμαι καλά... Επισυνάπτω ένα excel με παράδειγμα.
Δεν έχω καθόλου γνώση με VBA δυστυχώς...
Σε ευχαριστώ για τον χρόνο σου.



Παράθεση:

Αρχική Δημοσίευση από ChrisGT7 (Μήνυμα 35852)
Καλημέρα Αγγελική,

Σίγουρα θα πρέπει να γίνει με κώδικα VBA για να εμφανιστούν όλοι οι συνδυασμοί.

Επειδή δεν έχω ασχοληθεί με συνδυασμούς και διατάξεις (αμυδρά ό,τι θυμάμαι παλιά από τη σχολή), ψάχνοντας λίγο στο διαδίκτυο, βρήκα αυτή τη σελίδα για τους συγκεκριμένους υπολογισμούς.

Στο παράδειγμά σου:

1. Συνδυασμοί
Πλήθος στοιχείων (50, το σύνολο ερωτήσεων) και Στοιχεία διάταξης: 4 (1 μέχρι 4) = 230.300
Φαίνεται πως η συνάρτηση COMBIN(50;4) αποδίδει αυτό το σύνολο.

2. Διατάξεις
Πλήθος στοιχείων (50, το σύνολο ερωτήσεων) και Στοιχεία διάταξης: 4 (1 μέχρι 4) = 5.527.200
Φαίνεται πως η συνάρτηση PERMUT(50;4) αποδίδει αυτό το σύνολο.

Κάτι τέτοιο χρειάζεσαι; Και από ότι βλέπω τα νούμερα είναι αρκετά μεγάλα, ενώ στη δεύτερη περίπτωση (γραμμές φύλλου εργασίας 1.048.576) πιστεύω ο χρόνος εμφάνισης και ανοίγματος του αρχείου σε περίπτωση αποθήκευσης, θα είναι απογοητευτικός.


ChrisGT7 03-07-24 19:48

Αγγελική,

Έχω κάνει μια πρόχειρη προσπάθεια με κώδικα και βρήκα 192 διατάξεις.

Στις 192 γραμμές κάθε γράμμα είναι μοναδικό και το πλήθος γραμμάτων είναι από 1 μέχρι 3.

Μπορείς να επιβεβαιώσεις πως αυτό το πλήθος είναι σωστό, παρόλο που αναφέρεις περίπου 240;

Αν είναι εντάξει, θα πρέπει να συμμαζέψω κάπως τον κώδικα και να ανεβάσω την πρόταση.

aggelaki83 03-07-24 21:26

Γεια σου Χρήστο και πάλι,
Μόλις βρήκα αυτόν τον κωδικά εγώ και βγαίνουν 156 διατάξεις. Παράξενο που έχουμε απόκλιση. Βέβαια εγώ δεν ξέρω να διαβάζω σωστά τον κώδικα οπότε δεν ξέρω αν υπάρχει κάποιο λάθος μέσα. Τον παραθέτω για να τον δεις.

Sub GenerateCombinations()
Dim ws As Worksheet
Dim i As Long, j As Long, k As Long, lRow As Long
Dim letters As String
Dim comb As Variant

' Define the letters
letters = "RIASEC" ' Change this to your letters if different

' Set the worksheet to store the combinations
Set ws = ThisWorkbook.Sheets.Add
ws.Name = "Combinations"

' Initialize row counter
lRow = 1

' Generate all combinations of 1 to 3 letters
For i = 1 To Len(letters)
ws.Cells(lRow, 1).Value = Mid(letters, i, 1)
lRow = lRow + 1
For j = 1 To Len(letters)
If j <> i Then
ws.Cells(lRow, 1).Value = Mid(letters, i, 1) & Mid(letters, j, 1)
lRow = lRow + 1
For k = 1 To Len(letters)
If k <> i And k <> j Then
ws.Cells(lRow, 1).Value = Mid(letters, i, 1) & Mid(letters, j, 1) & Mid(letters, k, 1)
lRow = lRow + 1
End If
Next k
End If
Next j
Next i

' Autofit the column width
ws.Columns("A").AutoFit
End Sub

ChrisGT7 03-07-24 22:17

1 Συνημμένο(α)
Αγγελική,

Φαίνεται πως ο δικός μου δεν ήταν τόσο σωστός.

Έκανα κάποιες μικρομετρατροπές στον δικό σου και ελπίζω να σε βοηθάει περισσότερο.

Στην πρώτη στήλη μπορείς να προσθέτεις το ένα γράμμα κάτω από το άλλο για να αυξήσεις τις διατάξεις.

aggelaki83 03-07-24 23:57

Είναι τέλειο! Σε ευχαριστώ πολύ!


Η ώρα είναι 06:24.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2