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

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

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

 

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

Καλημέρα!!

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

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

Καλημέρα

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

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx ΤυχαίοιΤετραψήφιοι.xlsx (26,4 KB, 34 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 05-05-15, 12: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, 16: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 14:37
Παραγωγή τυχαίων αριθμών και εκτύπωση pm4698 Access - Ερωτήσεις / Απαντήσεις 1 03-11-14 20:38
Δημιουργία μοναδικών τυχαίων αριθμών kapetang Access samples - Χρήσιμα αρχεία & παραδείγματα 0 20-10-13 18:22
[ Φόρμες ] Δημιουργία τυχαίων αριθμών mgeorge Access - Ερωτήσεις / Απαντήσεις 6 14-10-13 00:30
Εκτύπωση τυχαίων Εγγραφών και αριθμών kon73 Access - Ερωτήσεις / Απαντήσεις 0 06-02-09 12:53


Η ώρα είναι 07:18.