Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Γενικά] Δημιουργία τυχαίων και μοναδικών 4ψήφιων αριθμών

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 05-05-15, 09:23
Όνομα: Διονύσης
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 07-12-2013
Περιοχή: Αθήνα
Μηνύματα: 103
Προεπιλογή Δημιουργία τυχαίων και μοναδικών 4ψήφιων αριθμών

Καλημέρα!!

Έχω μια λίστα με μερικές εκατοντάδες ονόματα.
Το ζητούμενο είναι το εξής:
πρέπει δίπλα σε κάθε ονοματεπώνυμο να υπάρχει (ενδεικτικά,στη Στήλη D του επισυναπτόμενου αρχείου) έναν τυχαίος αλλά μοναδικός 4ψήφιος αριθμός έτσι ώστε στον κάθε άνθρωπο να αντιστοιχεί ο ατομικός του μοναδικός αριθμός.
Πώς μπορεί να γίνει χωρίς μακροεντολές;

Ευχαριστώ
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx Test.xlsx (9,6 KB, 7 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 05-05-15, 10:33
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Διονύση, δες μια πρόταση στο συνημμένο.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx ΤυχαίοιΤετραψήφιοι.xlsx (26,4 KB, 34 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 05-05-15, 11:35
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Μια άλλη ιδέα θα ήταν η εξής:
Στο κελί e4
Κώδικας:
=RANDBETWEEN(1000;9999)
Στο κελί f4 τύπος πίνακα (Ctrl +Shift + Enter)
Κώδικας:
=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()
    Dim FillRange As Range, c As Range
    Set FillRange = Range("d4:d17")
    For Each c In FillRange
        Do
            c.Value = Int((9999 - 1000 + 1) * Rnd + 1000)
        Loop Until WorksheetFunction.CountIf(FillRange, c.Value) < 2
    Next
End Sub
Ο κώδικας αποδίδει τυχαίους 4ψήφιους αλλά:

Κώδικας:
'Προσθέτει γραμμή σε πίνακα
'Προσθέτει ID που αυξάνει + 1 με κάθε νέα γραμμή
Sub AddRow_Tbl()
    Dim c As Range
    Application.ScreenUpdating = False
    Sheet1.Range("_").ListObject.ListRows.Add (1)
    Range("SetStartID").Value = Range("SetStartID").Value  + 1
    For Each c In Range("Column_With_ID")
        If c.Value = vbNullString Then
            c.Value = "ID_" & " " & Range("SetStartID").Value
        End If
    Next
End Sub
αυτός αποδίδει σε πίνακα μοναδικό ID μορφής ID_2568
αυξανόμενο κατά 1 σε κάθε νέα εγγραφή.
Πλεονέκτημα:
Ποτέ δεν θα υπάρξει επανάληψη ενός αριθμού ID (όπως στην Access)

Sheet1 = το κωδικό όνομα φύλλου
Range("_") = πρώτο κελί αριστερά κάτω από κεφαλίδα
Range("SetStartID") = ένα κελί με τον αριθμό εκκίνησης ID
Range("Column_With_ID") = ονομασία της στήλης πίνακα με τα ID
Add (1) = η θέση εισαγωγής νέας γραμμής (πρώτη)
Απάντηση με παράθεση
  #4  
Παλιά 05-05-15, 15:09
Όνομα: Διονύσης
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 07-12-2013
Περιοχή: Αθήνα
Μηνύματα: 103
Προεπιλογή

Γιώργο και Σπύρο ευχαριστώ για τις άμεσες και εμπεριστατωμένες απαντήσεις-προτάσεις σας.
Με μια πρόχειρη ματιά είδα ότι με καλύπτουν γι'αυτό που ζητάω. Θα τις μελετήσω και θα καταλήξω σε μία από αυτές.
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Αυτόματη αρίθμηση μοναδικών ακέραιων αριθμων ΑΠΟΣΤΟΛΗΣΚ Excel - Ερωτήσεις / Απαντήσεις 3 15-10-16 13:37
Παραγωγή τυχαίων αριθμών και εκτύπωση pm4698 Access - Ερωτήσεις / Απαντήσεις 1 03-11-14 19:38
Δημιουργία μοναδικών τυχαίων αριθμών kapetang Access samples - Χρήσιμα αρχεία & παραδείγματα 0 20-10-13 17:22
[ Φόρμες ] Δημιουργία τυχαίων αριθμών mgeorge Access - Ερωτήσεις / Απαντήσεις 6 13-10-13 23:30
Εκτύπωση τυχαίων Εγγραφών και αριθμών kon73 Access - Ερωτήσεις / Απαντήσεις 0 06-02-09 11:53


Η ώρα είναι 00:58.