Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Προσθήκη παύλας ανάμεσα σε αριθμούς (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/4520-prosthiki-pailas-anamesa-se-arithmois.html)

BizosDim 01-04-17 17:21

Προσθήκη παύλας ανάμεσα σε αριθμούς
 
καλησπέρα σας,

Αντιμετωπίζω το εξής πρόβλημα στην εργασία μου. Έχω σε αρχείο εξέλ πάρα πολλές εγγραφές (σε μία στήλη) ως 14ψήφιους αριθμούς. Θέλω να μάθω αν γίνεται με αυτοματοποιημένο τρόπο να προστεθούν σε συγκεκριμένα σημεία του 14ψήφιου αριθμού παύλες (στη θέση 3, 6 και 10).
Για παράδειγμα ο αριθμός 3239823377001 να γίνει 323-982-3377-001.

Ευχαριστώ πολύ

Spirosgr 01-04-17 17:38

Καλησπέρα
Δημήτρη καλώς ήλθες στο ms-office.gr

Έστω στο a1 κελί >>> 3239823377001

Αν θέλουμε τις διαχωριστικές παύλες, στις θέσεις 3, 6 και 10 τότε:
Αναπτύσσοντας, θα πρέπει να διαχωρίσουμε στις θέσεις 4, 8 και 13.

Άρα:
Βάλε στο b1 τον τύπο:

=REPLACE(REPLACE(REPLACE(A1;4;0;"-");8;0;"-");13;0;"-")

και θα έχεις ρο αποτέλεσμα που θέλεις...

kapetang 01-04-17 18:47

1 Συνημμένο(α)
Καλησπέρα

Θα πρότεινα τον απλούστερο τύπο: =TEXT(A1;"000-000-0000-000")

Σημείωση: Μπορεί να γίνει και με προσαρμοσμένη μορφοποίηση, όπως στο συνημμένο.

Spirosgr 01-04-17 19:12

1 Συνημμένο(α)
Η Συνάρτηση =Text(), είναι σαφώς πιο απλή...αλλά:

1. Είναι δυνιτικά, επικινδυνη...
2. Δεν μπορείς να κάνεις αυτό που υπάρχει στο παρακάτω βιβλίο...
Δηλαδή να αλλάζεις θέσεις, όποτε και όπου θέλεις χωρίς να αλλάζεις τύπους...

kapetang 01-04-17 19:21

Mειονεκτήματα έχει και η REPLACE.

Για παράδειγμα, αν μειώσουμε η αυξήσουμε τα τμήματα θα πρέπει να μειώσουμε ή να αυξήσουμε τις ένθετες REPLACE (να αλλάξουμε τον τύπο).

Spirosgr 01-04-17 19:57

Θα ολοκληρώσω την άποψή μου, με τα εξής...

Τι μπορεί να αλλάξει, σε αυτήν την εργασία;

1.Πλήθος ψηφίων
2.Πλήθος διαχωριστικών
3.Είδος διαχωριστικών
4.Θέσεις διαχωριστικών
*Μπορεί να ξεχνάω κάτι...

Η συνάρτηση =Text() θα αλλάζει πάντα, σε όποια μεταβολή...
ΟΙ ένθετες =Replace(), μόνο στην περίπτωση 2.
*Η περίπτωση 3 διορθώνεται εύκολα...

Αυτά.

kapetang 01-04-17 21:07

1 Συνημμένο(α)
Ξεχνάς ότι το string μορφοποίησης μπορεί να δομηθεί σύμφωνα με τα περιεχόμενα κάποιων κελιών, που θα έχουν το πλήθος των μηδενικών και τον χαρακτήρα διαχωρισμού.

Έτσι συνάρτηση TEXT γίνεται αρκετά ευέλικτη και δε χρειάζεται να αλλάξει.

Δες το συνημμένο

Spirosgr 01-04-17 21:21

Μιλάμε για μιά συνάρτηση;
Για δύο;
Για Text - Replace - ή και συνδιασμούς με άλλες (=Rept);
Δεν καταλαβαίνω...

Ok, Ο δικός σου τρόπος είναι ...καλύτερος...

*Barcode με τελείες μην φτιάξετε μόνο, σε windows με αγγλική γλώσσα...

Καληνύχτα!

BizosDim 04-04-17 17:13

Παράθεση:

Αρχική Δημοσίευση από Spirosgr (Μήνυμα 25671)
Καλησπέρα
Δημήτρη καλώς ήλθες στο ms-office.gr

Έστω στο a1 κελί >>> 3239823377001

Αν θέλουμε τις διαχωριστικές παύλες, στις θέσεις 3, 6 και 10 τότε:
Αναπτύσσοντας, θα πρέπει να διαχωρίσουμε στις θέσεις 4, 8 και 13.

Άρα:
Βάλε στο b1 τον τύπο:

=REPLACE(REPLACE(REPLACE(A1;4;0;"-");8;0;"-");13;0;"-")

και θα έχεις ρο αποτέλεσμα που θέλεις...

Ευχαριστώ πολύ, γλίτωσα πολύ χρόνο.


Η ώρα είναι 21:35.

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


Search Engine Optimization by vBSEO 3.3.2