![]() |
Δημιουργία τυχαίων και μοναδικών 4ψήφιων αριθμών 1 Συνημμένο(α) Καλημέρα!! Έχω μια λίστα με μερικές εκατοντάδες ονόματα. Το ζητούμενο είναι το εξής: πρέπει δίπλα σε κάθε ονοματεπώνυμο να υπάρχει (ενδεικτικά,στη Στήλη D του επισυναπτόμενου αρχείου) έναν τυχαίος αλλά μοναδικός 4ψήφιος αριθμός έτσι ώστε στον κάθε άνθρωπο να αντιστοιχεί ο ατομικός του μοναδικός αριθμός. Πώς μπορεί να γίνει χωρίς μακροεντολές; Ευχαριστώ |
1 Συνημμένο(α) Καλημέρα Διονύση, δες μια πρόταση στο συνημμένο. Φιλικά/Γιώργος |
Μια άλλη ιδέα θα ήταν η εξής: Στο κελί e4 Κώδικας: =RANDBETWEEN(1000;9999)Κώδικας: =LARGE(ROW($1000:$9999)*NOT(COUNTIF($E$4:E4;ROW($1000:$9999)));RANDBETWEEN(1;(9999+2-1000)-ROW(D4)))Πλεονέκτημα: Δεν έχουμε αριθμούς μόνο από την πρώτη χιλιάδα (1001, 1005, 1125 ... κλπ) Αντιγράφουμε τις τιμές μόνο από την περιοχή f4: fx στην περιοχή d4:dx Σημείωση: Αν οι τυχαίοι αριθμοί έχουν ρόλο ID για το κάθε ονοματεπώνυμο καμία μέθοδος με τύπο δεν είναι ασφαλής 100%, σε περίπτωση που εγγραφούν νέα ονόματα. Πρόταση: VBA Κώδικας: Sub DoRandomValues()Κώδικας: 'Προσθέτει γραμμή σε πίνακααυξανόμενο κατά 1 σε κάθε νέα εγγραφή. Πλεονέκτημα: Ποτέ δεν θα υπάρξει επανάληψη ενός αριθμού ID (όπως στην Access) Sheet1 = το κωδικό όνομα φύλλου Range("_") = πρώτο κελί αριστερά κάτω από κεφαλίδα Range("SetStartID") = ένα κελί με τον αριθμό εκκίνησης ID Range("Column_With_ID") = ονομασία της στήλης πίνακα με τα ID Add (1) = η θέση εισαγωγής νέας γραμμής (πρώτη) |
Γιώργο και Σπύρο ευχαριστώ για τις άμεσες και εμπεριστατωμένες απαντήσεις-προτάσεις σας. Με μια πρόχειρη ματιά είδα ότι με καλύπτουν γι'αυτό που ζητάω. Θα τις μελετήσω και θα καταλήξω σε μία από αυτές. :thanks: |
| Η ώρα είναι 04:50. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.