Αριθμοί ολογράφως στο excel

Μετά την vba συνάρτηση για τη αναγραφή ολογράφως  ενός ποσού σε ευρώ, σήμερα σας προτείνω μια άλλη vba συνάρτηση χρήστη, για αναγραφή ολογράφως στην ελληνική γλώσσα ενός αριθμού στην μορφή που εσείς επιθυμείτε.
–> Διαλέξτε ελευθέρα εσείς το γένος  του αριθμού και τις μονάδες του.
–> Αποφασίστε εσείς, ποσά δεκαδικά ψηφία από τον αριθμό θέλετε να διαβαστούν, σε ποιο γένος και με ποιες μονάδες.
–> Καθορίστε πως θα διαβάζονται οι αρνητικοί αριθμοί και πως το διαχωριστικό ακεραίου – δεκαδικού.
–> Έχετε τη δυνατότητα να αποφασίστε αν θα διαβάζονται τα δεκαδικά μηδενικά ή το ακέραιο μηδενικό.
–> Μπορείτε αν θέλετε, να έχετε γραφή του αριθμού χωρίς κενά για μικρότερο μήκος.
–> Χωρίς καμία προσπάθεια εκ μέρους σας, η συνάρτηση αναγνωρίζει και διαβάζει ολογράφως τις ημερομηνίες (και ημερομηνίες πριν το 1900).
–> Διαβάζει αριθμούς γραμμένους σαν κείμενο ή σαν κλάσματα
–> Διαβάζει αρνητικούς και θετικούς αριθμούς έως το 1 τετράκις εκατομμύριο και δεκαδικούς με έως και 15 δεκαδικά.
Η συνάρτηση TextNumber δέχεται 1 υποχρεωτικό όρισμα (τον αριθμό) και 12 προαιρετικά για να καθορίσετε εσείς τις λεπτομέρειες της ανάγνωσης του αριθμού.
Μπορείτε να μην κάνετε χρήση την 12 προαιρετικών ορισμάτων. Τότε το ακέραιο και δεκαδικό μέρος θα διαβάζονται στο ουδέτερο γένος. (1234,5678=Χίλια Διακόσια Τριάντα Τέσσερα και Πέντε Χιλιάδες Εξακόσια Εβδομήντα Οκτώ Δεκάκις Χιλιοστά)
Πιο κάτω μπορείτε να διαβάσετε αναλυτική περιγραφή της συνάρτησης TextNumber.
Την ίδια περιγραφή μπορείτε να βρείτε και στο PDF αρχείο: Help_for_TextNumber_Function
Τον κώδικα της συνάρτησης θα βρείτε στο word αρχείο: Cod_TextNumber_Function
Την ίδια τη συνάρτηση θα βρείτε στο excel βιβλίο: TextNumberFunction το οποίο μπορείτε να κατεβάσετε από εδώ   ή   από  εδώ
Αναλυτική περιγραφή:
Η συνάρτηση TextNumber.
Για excel 2000 και άνω.
Η συνάρτηση TextNumber μετατρέπει έναν αριθμό σε κείμενο (ολογράφως) στην ελληνική γλώσσα. Δέχεται 1 υποχρεωτικό όρισμα και 12 προαιρετικά. Δίνοντας κατάλληλες τιμές στα ορίσματα μπορούμε με τη συνάρτηση αυτή να γράψουμε έναν αριθμό ολογράφως σε διάφορα γένη, με διαφορετικές μονάδες μέτρησης, να εμφανίσουμε όσα δεκαδικά ψηφία του αριθμού θέλουμε και άλλα.
Παράδειγμα, ο αριθμός 21,50 μπορεί να διαβαστεί:
o Είκοσι Ένα και Πέντε Δέκατα
o Είκοσι Ένα και Πενήντα Εκατοστά
o Είκοσι Ένα και Πεντακόσια Χιλιοστά
o Είκοσι Ένας , Πέντε
o Είκοσι Μία κόμμα Πέντε
o Είκοσι Ένα Ευρω και Πενήντα Λεπτά
o Είκοσι Μία Δραχμές _ Πενήντα Λεπτά
o Είκοσι Ένα Τεμάχια
Σύνταξη:
=TextNumber(number; NegativeText;
IntGender; IntMeasurePlural; IntMeasureSingular; Separator;
DecCount; DecGender; DecMeasurePlural; DecMeasureSingular;
DecNoZero; IntNoZero; NoSpace)
Υποχρεωτικό όρισμα number (αριθμός)
Είναι ο αριθμός τον οποίο θέλουμε να διαβάσουμε.
Ο αριθμός μπορεί να είναι ακέραιος ή δεκαδικός, θετικός ή αρνητικός και να βρίσκεται στο διάστημα (-10^15 , 10^15).
Για τιμές εκτός του διαστήματος αυτού η συνάρτηση επιστρέφει την τιμή σφάλματος #ΤΙΜΗ!
Προαιρετικό όρισμα  NegativeText (κείμενο)
Είναι το σύμβολο ή το κείμενο που θέλουμε να εμφανίζεται μπροστά στον αριθμό, όταν είναι αρνητικός (πχ: Αρνητικό Ποσό, Χρέος, Έλλειμμα, – , Πλην, Μείον )
Αν δεν συμπληρώσουμε το όρισμα, τότε θα γίνει χρήση της προεπιλεγμένης τιμής: –
Προαιρετικό όρισμα  IntGender (επιτρεπτές τιμές 1 ή 2 ή 3)
Το γένος στο οποίο θα εκφραστεί το ακέραιο μέρος του αριθμού.
Αρσενικό γένος = 1, θηλυκό γένος = 2 , ουδέτερο γένος = 3.
Προεπιλεγμένη τιμή = 3.
Προαιρετικό όρισμα  IntMeasurePlural (κείμενο)
Η μονάδα μέτρησης του ακέραιου τμήματος του αριθμού στον πληθυντικό. (πχ: ευρώ, κιλά, μέτρα, τεμάχια).  Προφανώς η μονάδα μέτρησης πρέπει να συμφωνεί στο γένος με το όρισμα  IntGender.
Προεπιλεγμένη τιμή δεν υπάρχει, έτσι αν το όρισμα δεν οριστεί, το ακέραιο μέρος του αριθμού θα εκφραστεί χωρίς μονάδα μέτρησης.
Προαιρετικό όρισμα  IntMeasureSingular (κείμενο)
Η μονάδα μέτρησης του ακέραιου τμήματος του αριθμού στον ενικό. (π.χ.: ευρώ, κιλό, μέτρο, τεμάχιο).  Προφανώς η μονάδα μέτρησης πρέπει να συμφωνεί στο γένος με το όρισμα  IntGender και να είναι ο ενικός αριθμός του IntMeasurePlural.
Το όρισμα αυτό θα χρησιμοποιηθεί από την συνάρτηση μόνο στην περίπτωση που το ακέραιο τμήμα του αριθμού είναι ίσο με 1.
Προεπιλεγμένη τιμή δεν υπάρχει, έτσι αν το όρισμα δεν οριστεί, θα χρησιμοποιηθεί το όρισμα IntMeasurePlural και αν και αυτό δεν έχει οριστεί, το ακέραιο μέρος του αριθμού θα εκφραστεί χωρίς μονάδα μέτρησης.
Προαιρετικό όρισμα  Separator (κείμενο)
Το διαχωριστικό σύμβολο ή λέξη μεταξύ ακέραιου και δεκαδικού τμήματος του αριθμού (πχ: και , κόμμα , συν, +,)
Προεπιλεγμένη τιμή η λέξη: και
Προαιρετικό όρισμα  DecCount (επιτρεπτές τιμές 0 έως και 15 ή -1)
Το πλήθος των δεκαδικών ψηφίων που θέλετε να διαβάσετε. Από κανένα έως και 15. Το πλήθος των δεκαδικών πρέπει να βρίσκεται σε λογική και μαθηματική συνάφεια με την μονάδα μέτρησης του ακέραιου και του δεκαδικού τμήματος του αριθμού.
Παράδειγμα: Αν ο αριθμός σας μετρά κιλά και γραμμάρια πρέπει DecCount =3, αν αριθμός εκφράζει ευρώ και λεπτά του ευρώ πρέπει DecCount =2.
Αν στο όρισμα δώσετε τιμή : –1  ή δεν το συμπληρώσετε ( διότι –1 είναι η προεπιλεγμένη τιμή του) τότε θα διαβαστούν όλα τα σημαντικά δεκαδικά ψηφία του αριθμού.
Παράδειγμα: Για τον αριθμό 4,12305000 θα διαβαστούν 5 δεκαδικά.  Για τον αριθμό 154,00070000 θα διαβαστούν 4 δεκαδικά  Για τον αριθμό 5,00 δεν θα διαβαστούν δεκαδικά.
Στην περίπτωση αυτή όπου το DecCount  είναι –1, τα δεκαδικά ψηφία θα διαβαστούν με τον γενικό μαθηματικό τρόπο της ελληνικής γλώσσας ως δέκατα, εκατοστά, χιλιοστά κλπ. Αν έχετε δώσει τιμές στα ορίσματα  DecMeasurePlural και DecMeasureSingular (βλέπε παρακάτω), οι τιμές αυτές θα αγνοηθούν, όπως επίσης θα αγνοηθούν οι τιμές 1 ή 2 του ορίσματος  Dec Gender
Προαιρετικό όρισμα  DecGender (επιτρεπτές τιμές 1 ή 2 ή 3)
Το γένος στο οποίο θα εκφραστεί το δεκαδικό μέρος του αριθμού.
Αρσενικό γένος = 1, θηλυκό γένος = 2 , ουδέτερο γένος = 3.
Προεπιλεγμένη τιμή = 3.
Προαιρετικό όρισμα  DecMeasurePlural (κείμενο)
Η μονάδα μέτρησης του δεκαδικού τμήματος του αριθμού στον πληθυντικό. (πχ: λεπτά, γραμμάρια, εκατοστά) .Προφανώς η μονάδα μέτρησης πρέπει να συμφωνεί στο γένος με το όρισμα  DecGender.
Αν το όρισμα δεν οριστεί, τα δεκαδικά ψηφία θα διαβαστούν με τον γενικό μαθηματικό τρόπο της ελληνικής γλώσσας ως δέκατα, εκατοστά, χιλιοστά κλπ.
Προαιρετικό όρισμα  DecMeasureSingular (κείμενο)
Η μονάδα μέτρησης του δεκαδικού τμήματος του αριθμού στον ενικό. (π.χ.: λεπτό, γραμμάριο, εκατοστό) .Προφανώς η μονάδα μέτρησης πρέπει να συμφωνεί στο γένος με το όρισμα  DecGender και να είναι ο ενικός αριθμός του DecMeasurePlural.
Το όρισμα αυτό θα χρησιμοποιηθεί από την συνάρτηση μόνο στην περίπτωση που το δεκαδικό τμήμα του αριθμού είναι ίσο με 1.
Αν το όρισμα δεν οριστεί, θα χρησιμοποιηθεί το όρισμα DecMeasurePlural και αν και αυτό δεν έχει οριστεί, το δεκαδικό τμήμα του αριθμού θα εκφραστεί με τον γενικό μαθηματικό τρόπο της ελληνικής γλώσσας ως δέκατο, εκατοστό, χιλιοστό κλπ.
Αν το όρισμα DecCount είναι ίσο με –1 ή δεν έχει ορισθεί, τότε οι τιμές που ίσως δώσατε στα  ορίσματα DecMeasurePlural και DecMeasureSingular θα αγνοηθούν.
Προαιρετικό όρισμα  DecNoZero(τιμές TRUE, FALSE)
Καθορίστε το όρισμα αυτό σε TRUE αν δεν θέλετε να διαβάζονται τα δεκαδικά ψηφία στην περίπτωση που αυτά είναι μηδέν. Η επιλογή σε TRUE δεν επηρεάζει έναν αριθμό με μη μηδενικά δεκαδικά.
Μην συγχέεται την επιλογή αυτή με την επιλογή DecCount = 0. Στην περίπτωση αυτή τα δεκαδικά δεν θα διαβαστούν είτε είναι μηδέν είτε όχι.
Προεπιλεγμένη τιμή : FALSE
Προαιρετικό όρισμα  IntNoZero(τιμές TRUE, FALSE)
Αν οι αριθμοί σας είναι δεκαδικοί στο διάστημα (-1, +1), δηλαδή έχουν ακέραιο μέρος μηδέν, και δεν θέλετε να διαβάζεται το μηδέν αυτό, καθορίστε το όρισμα αυτό σε TRUE . Η επιλογή σε TRUE δεν επηρεάζει έναν αριθμό με μη μηδενικό ακέραιο μέρος.
Προεπιλεγμένη τιμή : FALSE
Προαιρετικό όρισμα  NoSpace (τιμές TRUE, FALSE)
Αν το παραγόμενο ολόγραφο του αριθμού είναι μεγάλο και έχετε πρόβλημα εμφάνισης του κειμένου στο φύλλο ή στην εκτύπωση, καθορίστε το όρισμα αυτό σε TRUE, για να απαλειφθούν τα κενά μεταξύ των λέξεων και έτσι να μειωθεί λίγο το μήκος του κειμένου .
Παράδειγμα:
ΣαράνταΠέντεΧιλιάδεςΕπτακόσιαΟγδόνταΕννέακαιΣαράνταΠέντεΕκατοστά
Προεπιλεγμένη τιμή : FALSE
Παραδείγματα:
Στα παραδείγματα 1, 2 και 3 ορίσαμε μόνο το υποχρεωτικό όρισμα number.
1. Αν στο κελί Α1 είναι ο αριθμός 7.894.565,12300  τότε η συνάρτηση =TextNumber(A1) θα επιστρέψει το κείμενο: Επτά Εκατομμύρια Οκτακόσιες Ενενήντα Τέσσερις Χιλιάδες Πεντακόσια Εξήντα Πέντε και Εκατόν Είκοσι Τρία Χιλιοστά
2. Αν στο κελί Α1 είναι ο αριθμός 123.456.789,00000 τότε η συνάρτηση =TextNumber(A1) θα επιστρέψει το κείμενο: Εκατόν Είκοσι Τρία Εκατομμύρια Τετρακόσιες Πενήντα Έξι Χιλιάδες Επτακόσια Ογδόντα Εννέα
3. Αν στο κελί Α1 είναι ο αριθμός 0,00005 τότε η συνάρτηση =TextNumber(A1) θα επιστρέψει το κείμενο: Μηδέν και Πέντε Εκατοντάκις Χιλιοστά
4. Αν στο κελί Α1 είναι ο αριθμός -456,788 τότε η συνάρτηση =TextNumber(A1;»Έλλειμμα»;;»Ευρώ»;;;2;;»Λεπτά»;»Λεπτό»)
θα επιστρέψει το κείμενο: Έλλειμμα Τετρακόσια Πενήντα Έξι Ευρώ και Εβδομήντα Οκτώ Λεπτά.   Για τον αριθμό 1,01 θα επιστρέψει : Ένα Ευρώ και Ένα Λεπτό
5. Αν στο κελί Α1 είναι ο αριθμός 0,55000 τότε η συνάρτηση =TextNumber(A1;;;;;;;;;;;TRUE),
(όπου ορίσαμε το IntNoZero σε TRUE) θα επιστρέψει το κείμενο: Πενήντα Πέντε Εκατοστά
και για τον αριθμό -0,00001 θα επιστρέψει: – Ένα Εκατοντάκις Χιλιοστό
6. Ο αριθμός 4,5 θα διαβαστεί:
Τέσσερα και Πέντε Δέκατα, αν DecCount =1
Τέσσερα και Πενήντα Εκατοστά, αν DecCount =2
Τέσσερα και Πεντακόσια Χιλιοστά, αν DecCount =3
7. Ο αριθμός 1001 θα διαβαστεί:
Χίλιοι Ένας, αν IntGender =1
Χίλιες Μία, αν IntGender =2
Χίλια Ένα, αν IntGender =3
8. Ο αριθμός 21,21 θα διαβαστεί:  Είκοσι Μία δραχμές και Είκοσι Ένα λεπτά.
Στην περίπτωση αυτή το γένος του ακεραίου τμήματος ορίστηκε θηλυκό =2 και του δεκαδικού τμήματος σε ουδέτερο =3 και φυσικά  DecCount=2, IntMeasurePlural= δραχμές, IntMeasureSingular=δραχμή,  DecMeasurePlural=λεπτά,  DecMeasureSingular=λεπτό
Παρατηρήσεις:
Η συνάρτηση διαβάζει τα ψηφία του αριθμού  όπως αυτά έχουν εισαχθεί σε ένα κελί ή όπως αυτά επιστρέφουν από μία άλλη συνάρτηση. Δεν διαβάζει τα ψηφία όπως αυτά φαίνονται στο κελί, διότι ο τρόπος εμφάνισης ενός αριθμού εξαρτάται από την μορφοποίηση του κελιού.
Για να δείτε τι ακριβώς διαβάζει η συνάρτηση κοιτάξτε την γραμμή των τύπων.
Παράδειγμα: Το κελί Α1 έχει μορφοποίηση «Αριθμός» με πλήθος δεκαδικών 2.
Στο κελί έχει εισαχθεί ο αριθμός 4,56789  και εσείς στο κελί βλέπετε 4,57.
Η συνάρτηση =TextNumber(A1)  θα επιστρέψει: Τέσσερα και Πενήντα Έξι Χιλιάδες Επτακόσια Ογδόντα Εννέα Εκατοντάκις Χιλιοστά.
Αν θέλετε επιστροφή από την συνάρτηση : Τέσσερα και Πενήντα Επτά Εκατοστά τότε στρογγυλοποιήστε πρώτα τον αριθμό με μία από τις πολλές συναρτήσεις στρογγυλοποίησης του Excel.
Για την συγκεκριμένη περίπτωση  εισάγετε =TextNumber(ROUND(A1;2)) και θα έχετε: Τέσσερα και Πενήντα Επτά Εκατοστά
Η συνάρτηση  TextNumber δεν κάνει κανενός είδους στρογγυλοποιήσεις των αριθμών από μόνη της, έως το 15ο δεκαδικό ψηφίο. Δηλαδή δεν στρογγυλοποιεί κανένα δεκαδικό ψηφίο όταν εισάγετε έναν αριθμό χειριστικά. Άλλωστε αν προσπαθήσετε να εισάγετε περισσότερα από 15 ψηφία το Excel μετατρέπει τα επιπλέον ψηφία σε μηδέν (0).
Κατ΄ εξαίρεση το Excel εμφανίζει περισσότερα από 15 δεκαδικά ψηφία για αριθμούς πολύ κοντά στο μηδέν ή για αριθμούς που επιστρέφουν από ένα τύπο.
Πχ μπορείτε να εισάγετε χειριστικά τον αριθμό 0,000123456789012345  (18 δεκαδικά), όμοια  ο τύπος =1/11 θα επιστρέψει 0,00900900900900901 (17 δεκαδικά).
Στις περιπτώσεις αυτές η συνάρτηση πιθανά να διαβάσει μία στρογγυλοποιημένη μορφή του αριθμού. Πχ   =TextNumber(0,000999999999999999)= Μηδέν και Ένα Χιλιοστό
Γενικά είναι μια συνάρτηση για να αντιμετωπίσει αριθμούς που εμφανίζονται στην καθημερινή ζωή και όχι ακραίες περιπτώσεις.
Η συνάρτηση δεν επηρεάζεται από τις ρυθμίσεις που έχετε κάνει στα settings του υπολογιστή σας για τα  διαχωριστικά ψηφίων και δεκαδικών. Εκτός αν έχετε εισάγει τον αριθμό σαν κείμενο, τότε ο αριθμός πρέπει να είναι συμβατός με τα  settings του υπολογιστή σας. (Πιο κάτω παράδειγμα.)
Αν θέλετε το ολόγραφο του αριθμού σε κεφαλαία γράμματα εισάγετε =UPPER(LOWER(TextNumber(…..))) και όχι απλώς =UPPER((TextNumber(…..))).
Η UPPER μόνη της δείχνει να αποτυγχάνει στην μετατροπή λέξεων όπως Έξι, Ένα κλπ
Η συνάρτηση αναγνωρίζει τις ημερομηνίες και τις επιστέφει ολογράφως σαν ημερομηνίες.
Στην περίπτωση αυτή δέχεται μόνο το υποχρεωτικό όρισμα number.
Τις ημερομηνίες διαβάζει από κελί ή τις δέχεται απ΄ ευθείας. (όταν εισάγετε ημερομηνία απ΄ ευθείας σε συνάρτηση να την περικλείετε σε εισαγωγικά) πχ η =TextNumber(«2/2/2010») θα επιστρέψει: Δύο Φεβρουαρίου, Δύο Χιλιάδες Δέκα. Αναγνωρίζει και διαβάζει ημερομηνίες πριν το 1900.
Παραδείγματα:
13/8/2004 Δεκατρείς Αυγούστου, Δύο Χιλιάδες Τέσσερα
28/10/1940 Είκοσι Οκτώ Οκτωβρίου, Χίλια Εννιακόσια Σαράντα
4-Μαρ Τέσσερις Μαρτίου, Δύο Χιλιάδες Έντεκα
25/3/1821 Είκοσι Πέντε Μαρτίου, Χίλια Οκτακόσια Είκοσι Ένα
12/12/1798 Δώδεκα Δεκεμβρίου, Χίλια Επτακόσια Ενενήντα Οκτώ
10/10/0500 Δέκα Οκτωβρίου, Πεντακόσια
4-Μαϊ-2050 Τέσσερις Μαΐου, Δύο Χιλιάδες Πενήντα
Αν το όρισμα number είναι:
o Ένα σφάλμα, μία λογική τιμή (TRUE, FALSE), ένα αλφαριθμητικό,  η συνάρτηση επιστρέφει το σφάλμα  #ΤΙΜΗ!
o Ένα κενό κελί, η συνάρτηση επιστρέφει ένα  «κενό» (λευκό) κελί.
o Ένας αριθμός μορφοποιημένος σε κείμενο, η συνάρτηση τον διαβάζει σαν αριθμό. Πχ. =TextNumber(«45,2») επιστρέφει: Σαράντα Πέντε και Δύο Δέκατα, αλλά =TextNumber(«45.2″): Τετρακόσια Πενήντα Δύο διότι έγινε χρήση διαχωριστικού μεταξύ ακεραίου και δεκαδικού μη σύμφωνου με αυτό το οποίο έχει οριστεί στα settings του υπολογιστή και έτσι το Excel αγνόησε την «τελεία» και διάβασε «452».
o Ένα κελί το οποίο περιέχει έναν αριθμό μορφοποιημένο σε κλάσμα, η συνάρτηση διαβάζει την δεκαδική μορφή του αριθμού, δηλαδή διαβάζει τον αριθμό όπως αυτός εμφανίζεται στην γραμμή των τύπων.
o  Ένα κελί το οποίο περιέχει έναν αριθμό μορφοποιημένο σε ποσοστό, για να διαβάσει η συνάρτηση σωστά τον αριθμό πολλαπλασιάστε τον αριθμό επί 100. Πχ αν το κελί Α1 περιέχει το ποσοστό 7,3%, η συνάρτηση =TextNumber(Α1*100)&» τοις εκατό.» θα επιστρέψει: Επτά και Τρία Δέκατα τοις εκατό.
Ορθογραφικές συμβάσεις.
Η ορθογραφία των αριθμητικών στηρίζεται στην «ΝΕΟΕΛΛΗΝΙΚΗ ΓΡΑΜΜΑΤΙΚΗ» του Μανόλη Τριανταφυλλίδη, έκδοση ΟΕΔΒ . Δεν ακολουθήσαμε την γραμματική στις παρακάτω περιπτώσεις:
Α) Για την απόδοση της τάξης των τρισεκατομμυρίων και της τάξης των δισεκατομμυρίων, χρησιμοποιούνται οι σύντομες λέξεις «Τρις» και «Δις», αντίστοιχα.
Β) Τους αριθμούς 101 έως 199  διαβάζουμε πάντα με «ν» στο τέλος της λέξης «εκατό»:
Εκατόν Ένα , Εκατόν Μία, Εκατόν Δύο κλπ ενώ η γραμματική προτείνει την γραφή: εκατόν ένα, εκατό μία, εκατό δύο (άλλοτε με «ν» και άλλοτε χωρίς «ν»). Τον αριθμό 100 διαβάζουμε όπως και η γραμματική χωρίς «ν»: Εκατό.
Γ) Κάθε ψηφίο του αριθμού και τα ονόματα των τάξεων γράφονται με το πρώτο γράμμα κεφαλαίο και τα άλλα γράμματα πεζά. (Μορφή PROPER).
This entry was posted in excel, Συναρτήσεις Χρήστη, VBA and tagged , , , , , , . Bookmark the permalink.

43 Responses to Αριθμοί ολογράφως στο excel

  1. Ο/Η gr User λέει:

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

  2. Ο/Η Γιαννης λέει:

    Σε ευχαριστώ πολύ, αλλά δεν γνωρίζω πως θα ενσωματώσω στο excell 2010 αυτή τη συνάρτηση. Μπορείς να με βοηθήσεις?

  3. Ο/Η vioannis λέει:

    Γιάννη!
    Η πιο καλή λύση είναι να έχεις την συνάρτηση στο προσωπικό βιβλίο μακροεντολών : Personal. χlsb ή Personal. χls.
    (Αν δεν έχεις δημιουργήσει ποτέ το personal τότε δες τα βήματα δημιουργίας στο θέμα:
    «Δημιουργία και ενημέρωση του προσωπικού βιβλίου εργασίας» στο σύστημα βοήθειας του excel.)
    Στο personal κάνε εισαγωγή ενός νέου module (Insert > Module)
    Γύρισε το πληκτρολόγιο σου στα ελληνικά και κάνε copy τον κώδικα της συνάρτησης (Όλον τον κώδικα).
    Κάνε επικόλληση στο module που άνοιξες.
    Σώσε το personal και βγες: File > Save personal
    και μετά File>Close and return Microsoft Excel
    Τώρα τη συνάρτηση θα την βρεις : Τύποι > Εισαγωγή συνάρτησης > Συναρτήσεις χρήστη.

  4. Ο/Η Μάριος λέει:

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

  5. Ο/Η Μάριος λέει:

    Επίσης όταν ανοίγω ένα βιβλίο excel και έχω δημιουργήσει την συνάρτηση textnumber αποθηκεύοντάς την στο personal μετά όταν επιχειρώ να ανοίξω ένα οποιοδήποτε βιβλίο excel μου ανοίγει παράλληλα και το personal. Πως μπορώ να έχω ανοιχτό μόνο το βιβλίο excel που έχω επιλέξει και όχι κάθε φορά να ανοίγει και το personal; Υπάρχει δυνατότητα η συνάρτηση να αποθηκευτεί γενικά στο excel; Ευχαριστώ και περιμένω κάποια βοήθεια.

  6. Ο/Η vioannis λέει:

    Μάριε, αν έγραψες την συνάρτηση σε ένα module του personal βιβλίου και έσωσες το personal (File > Save personal ) πριν βγεις από το περιβάλλον της VB, τότε θα βρίσκεις την συνάρτηση σε κάθε βιβλίο excel που ανοίγεις, στην ομάδα συναρτήσεων “Συναρτήσεις χρήστη”. Αν αυτά τα έκανες, δεν μπορώ να φανταστώ ένα λόγο για τον οποίο δεν βλέπεις την συνάρτηση.
    Φυσικά και πρώτα ανοίγει το personal βιβλίο, πάντα έτσι δούλευε και δουλεύει το excel, αλλά αυτό δεν αποτελεί πρόβλημα, το άνοιγμα γίνεται στο παρασκήνιο. Σε εσένα δεν συμβαίνει έτσι;
    Μια άλλη λύση είναι να σώσεις το βιβλίο με την συνάρτηση σαν “Πρόσθετο” ( Add-in) και να το προσθέσεις στη συλλογή των προσθέτων σου. Και πάλι όμως θα ανοίγει το βιβλίο-πρόσθετο στο παρασκήνιο. Η διαδικασία για τα πρόσθετα εξαρτάται από την έκδοση του excel που χρησιμοποιείς.

  7. Ο/Η Θάνος Θρ. λέει:

    Πολύ χρήσιμη συνάρτηση. Την έχω περάσει στον υπολογιστή μου και δουλεύει τέλεια. Προσπαθώ να την χρησιμοποιήσω ώστε να διαβάζει κλάσματα, αριθμητή προς παρανομαστή. πχ 3/5 = τρία προς πέντε. Υπάρχει τρόπος? Σας ευχαριστώ πολύ και για τη συνάρτηση και για την απαντηση σας.

  8. Ο/Η vioannis λέει:

    Θάνο, για κλάσματα που έχουν εισαχθεί με τους κανόνες του excel (και όχι σαν κείμενο, δες το σχετικό θέμα στο ιστολόγιο), υπάρχει λύση. Θα χρειαστείς μια νέα συνάρτηση (TextFraction) την οποία πρέπει να εισάγεις στο ίδιο module που έχεις γράψει και την συνάρτηση TextNumber.

    Η συνάρτηση TextFraction θα διαβάσει τα παρακάτω κλάσματα ως εξής:
    12/17 Δώδεκα προς Δεκαεπτά
    7 9/23 Επτά και Εννέα προς Είκοσι Τρία
    – 4/5 μείον Τέσσερα προς Πέντε
    458 789/1000 Τετρακόσια Πενήντα Οκτώ και Επτακόσια Ογδόντα Εννέα προς Χίλια

    Function TextFraction(keli As Range) As String
    Application.Volatile
    Dim k, g, l As Long
    Dim intpart As Long
    Dim numerator As Integer
    Dim denominator As Integer
    Dim fraction As String
    Dim minus As String
    
    If keli < 0 Then minus = "μείον "
    intpart = Fix(keli)
    fraction = Application.Trim(keli.Text)
    
    k = InStr(fraction, " ")
    g = InStr(fraction, "/")
    l = Len(fraction)
    
    If g = 0 Then Exit Function
    
    If k = 0 Then
        numerator = Left(fraction, g - 1)
    Else
        numerator = Mid(fraction, k, g - k)
    End If
    
    denominator = Right(fraction, l - g)
    
    If intpart = 0 Then
        TextFraction = minus & IntText(numerator) & "προς " & IntText(denominator)
    Else
        TextFraction = IntText(intpart, minus) & "και " & IntText(numerator) & "προς " & IntText(denominator)
    End If
    
    TextFraction = Application.Trim(TextFraction)
    End Function
    
    
  9. Ο/Η Babis λέει:

    Καλησπέρα! Πως γίνεται τα 100 € να μην τα λέει εκατό ευρώ και 0 λεπτά αλλά 100 ευρώ σκέτο όταν δεν έχει δεκαδικά????

  10. Ο/Η vioannis λέει:

    Babis: Όρισε το Προαιρετικό όρισμα DecNoZero σε TRUE.
    Ο παρακάτω ορισμός των ορισμάτων θα δώσει 100 ευρώ αν στο κελί Α1 έχεις γράψει 100
    =TextNumber(A1;;3;»ευρώ»;;»και»;2;3;»λεπτά»;»λεπτό»;TRUE)
    Δες εδώ και την ειδικευμένη για ευρώ συνάρτηση στο ιστολόγιο.

  11. Ο/Η Babis λέει:

    Ευχαριστώ πολύ! Η αλήθεια είναι ότι δεν το έψαξα και πολύ! Προτιμώ μια συνάρτηση για όλα!

  12. Πολύ χρήσιμος κώδικας, μπράβο σας! Θα ήταν πολύ να παρακαλούσα να του δώσετε μια άδεια χρήσης ΕΛ/ΛΑΚ; (Δείτε π.χ. http://opensource.org/licenses/index.html.) Έτσι θα μπορούμε να τον χρησιμοποιούμε νόμιμα, με αναφορά σε εσάς, στα δικά μας φύλλα εργασίας.

  13. Ο/Η vioannis λέει:

    Κύριε Σπινέλλη, ευχαριστώ πολύ για την ενθάρρυνση. Παρακαλώ αισθανθείτε εντελώς ελεύθερος να κατεβάσετε και να χρησιμοποιήσετε όπως θέλετε τον κώδικα. Άλλωστε, όπως με πληροφορούν τα στατιστικά της wordpress, τον κώδικα της συνάρτησης TextNumber, τα δύο χρόνια που είναι στο ιστολόγιο, έχουν κατεβάσει εκατοντάδες χρήστες. Την διαδικασία χορήγησης άδειας δεν την γνωρίζω, θα φροντίσω να ενημερωθώ.

  14. Ο/Η Κώστας Καλόγηρος λέει:

    Εξαιρετικό το topic, πολύ καλογραμμένο.
    Δεν έχω δοκιμάσει ακόμα τον κώδικα, αλλά από τον όλο επαγγελματισμό δεν αμφιβάλλω για τα αποτελέσματά του.

  15. Ο/Η vioannis λέει:

    Ευχαριστώ πολύ, κύριε Καλόγερε. Περιμένω τα σχόλιά σας και τις παρατηρήσεις σας και για τον κώδικα.

  16. Ο/Η Κώστας Καλόγηρος λέει:

    Καλησπέρα και πάλι.
    Οσες από τις λειτουργίες δοκίμασα λειτούργησαν εξαιρετικά. Τον εφάρμοσα ήδη για μετατροπή Ευρώ σε «ολογράφως» και δεν βρίσκω λόγο να χρησιμοποιήσω την εξειδικευμένη συνάρτηση. Εχω μία συνάρτηση για όλες τις περιπτώσεις.
    Υπάρχει κανένας εύκολος τρόπος να την ενσωματώνω από το personal στο workbook που δουλεύω ώστε να μπορεί να χρησιμοποιηθεί και από άλλο ΗΥ?
    Ευχαριστώ.

  17. Ο/Η vioannis λέει:

    Αν γράφατε τη συνάρτηση σε ένα module του βιβλίου σας και το αποθηκεύατε σαν βιβλίο με δυνατότητα μακροεντολών, ίσως εξυπηρετεί. .

  18. Ο/Η Dimitris λέει:

    tnx aderfe!!!

  19. Ο/Η tasos λέει:

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

  20. Ο/Η Apostolos λέει:

    Έχω το εξής πρόβλημα: Παίρνω από ένα πρόγραμμα αποτελέσματα σε σημειωματάριο, μετά όταν τα μεταφέρω στο excel μου τα έχει σε κελιά όλα μαζί Ξέρω να τα διαχωρίσω αλλά μετά παίρνω κείμενο του τύπου 0.170052 Ε+03. Αυτό πως μπορώ να το κάνω αριθμό για να δουλέψω μετά; Είναι τεράστιος ο όγκος των αριθμών για αυτό θα ήθελα κάτι που να τα μετατρέπει σε αριθμούς.
    Ευχαριστώ πολύ εκ των προτέρων.

  21. Ο/Η vioannis λέει:

    Για τον ένα και μοναδικό αριθμό που έστειλες και αν κρίνω από αυτόν και μόνο: Έχει μορφή “επιστημονική” (Μορφοποίηση κελιών, μορφή, κλπ) Αλλά:
    1)Για διαχωριστικό δεκαδικών έχει τελεία (.) Αυτή έχεις για διαχωριστικό στον υπολογιστή σου ή το κόμμα (,) ;
    2) δεν πρέπει να υπάρχει η τελεία στο τέλος
    3) Δεν πρέπει να υπάρχει κενό πριν από το Ε
    4) Το Ε πρέπει να είναι Αγγλικό και όχι Ελληνικό (στον αριθμό που έστειλες είναι ελληνικό)
    Λοιπόν:
    Έβαλα τον αριθμό στο κελί Α1
    Στο Β1 έβαλα την συνάρτηση

     =SUBSTITUTE(A1;".";",";1) 

    (πρόβλημα 1, εγώ έχω το κόμμα για διαχωριστικό) και πήρα: 0,170052 Ε+03.

    Στο κελί C1 έβαλα

     =SUBSTITUTE(B1;".";"") 

    (πρόβλημα 2) και πήρα 0,170052 Ε+03

    Στο κελί D1 έβαλα

     =1*SUBSTITUTE(C1;" Ε";"E") 

    (προβλήματα 3 και 4 και μετατροπή του κειμένου σε αριθμό) και πήρα το ποθούμενο 170,052

    Όλα αυτά μπορούν να γίνουν μία συνάρτηση, αλλά να είμαστε σίγουροι ότι αυτά είναι τα προβλήματα.
    Θα χρειαστεί να μου στείλεις (με αντιγραφή – επικόλληση) αρκετούς από τους αριθμούς αυτούς και τα ξαναλέμε.

  22. Ο/Η Apostolos λέει:

    0.17021E+03 0.89133E+01 0.81023E-01 όπως μου τους ζήτησες. Εγώ κανονικά έχω ως διαχωριστικό το κόμμα (,) και όχι την τελεία (.) . Όσο αφορά την 1η μετατροπή σου την κατάλαβα. Την δεύτερη δεν ξέρω γιατί την κάνεις! Ίσως για να διώξεις την τελεία στο τέλος αλλά δεν υπάρχει! Απλά ήθελα να τελειώσω την πρόταση μου συγνώμη αν σε μπέρδεψα! Πάντως έκανα 1* την 1η σου συνάρτηση και βγήκε το νούμερο! (Δηλαδή μία μίξη της 1ης και με της 2ης! Δεν χρειαζόταν τελικά αλλαγή του Ε! Σε ευχαριστώ πολύ! Να σαι καλά! Δεν είχα ξαναδεί αυτά τα «αντικατέστησε» και μου έλυσαν τα χέρια, καθώς τα δεδομένα είναι χιλιάδες!

  23. Ο/Η vioannis λέει:

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

  24. Ο/Η Γιάννης Θ. λέει:

    Υπάρχει τρόπος ώστε στη Φόρμα του Οδηγού συμπλήρωσης της Συνάρτησης που βάλαμε να εμφναίζεται βοήθεια γι’ αυτήν και σύντομη περιγραφή της (του τί κάνει), όπως εμφανίζεται σ’ όλες εκείνες που υπάρχουν στην βιβλιοθήκη το Excel;
    Ευχαριστώ Γιάννης

  25. Ο/Η vioannis λέει:

    Γιάννη, πες μου σε ποιο excel δουλεύεις και που έχεις γράψει την συνάρτηση. Σε ένα βιβλίο ή στο personal.

  26. Ο/Η Γιάννης Θ. λέει:

    Χρησιμοποιώ το 2010 και την συνάρτηση αφού την έγραψα σε ένα Βιβλίο την μετέφερα σο personal ως ΠΡΟΣΘΕΤΟ

  27. Ο/Η vioannis λέει:

    Γιάννη, ξαναέγραψα από την αρχή τις δύο απαντήσεις και τις συμμάζεψα σε μία για καλλίτερη σαφήνεια:
    Προσθήκη περιγραφής στη vba συνάρτηση TextNumber, για όλα τα excel 2002 -2013.
    Αν η συνάρτηση είναι σε βιβλίο .xls ή .xlsm ή σε πρόσθετο .xla ή .xlam, τότε:
    α) Στο ίδιο module που είναι η συνάρτηση γράφεις τον κώδικα της παρακάτω μακροεντολής.

    Sub SetDescriptionForFunctionTextNumber()
    Application.MacroOptions Macro:="TextNumber", _
    Description:="Η συνάρτηση αυτή κάνει αυτό και αυτό ..."
    End Sub
    

    β) στη θέση της περιγραφής θα βάλεις μια σύντομη περιγραφή της συνάρτησης που σε βολεύει.
    γ) Όπως είσαι στο περιβάλλον της VB επιλέγεις όλη τη μακροεντολή και στο μενού (της VB) επιλέγεις Run και στη συνέχεια Run Sub
    δ)Στην συνέχεια από το μενού επιλέγεις File και Save XXXX.xls (ή .xlsm ή .xla ή .xlam) όπου ΧΧΧΧ είναι το όνομα του βιβλίου ή του πρόσθετου.
    Αν η συνάρτηση είναι στο PERSONAL.XLSB (excel 2007 & μεγαλύτερο ) ή στο PERSONAL.XLS (2002, 2003) τα βήματα είναι ίδια με μόνη διαφορά στην δεύτερη γραμμή του κώδικα που θα γραφτεί αντίστοιχα:

    Application.MacroOptions Macro:="PERSONAL.XLSB!TextNumber"
    ή
    Application.MacroOptions Macro:="PERSONAL.XLS!TextNumber"
    

    Κάθε φορά που θα καλείς τη συνάρτηση από την καρτέλα εισαγωγής συναρτήσεων θα εμφανίζεται η περιγραφή της. Την μάκρο θα την τρέξεις μία μόνο φορά, δεν θα χρειαστεί να την ξανατρέξεις, εκτός αν θέλεις να αλλάξεις την περιγραφή, γράφεις μια νέα περιγραφή και την ξανατρέχεις.
    Για να γραφτεί κανονικό αρχείο βοήθειας συμβατό με τις διάφορες εκδόσεις λειτουργικών, από όσο γνωρίζω, χρειάζεται ένα ειδικό προϊόν λογισμικού σύνταξης βοήθειας. Στο excel 2010 & 2013 υπάρχει η δυνατότητα εισαγωγής περιγραφών και στα ορίσματα. Για το θέμα αυτό, δες επόμενο μήνυμα.

  28. Ο/Η Γιάννης Θ. λέει:

    Ευχαριστώ πολύ για την βοήθειά σου.

  29. Ο/Η vioannis λέει:

    Προσθήκη περιγραφής στα ορίσματα της vba συνάρτηση TextNumber, μόνο για τα excel 2010 -2013.
    Αν η συνάρτηση είναι σε βιβλίο xlsm ή σε πρόσθετο xlam
    α) Στο ίδιο module που είναι η συνάρτηση TextNumber θα αντιγράψεις τον κώδικα της παρακάτω μακροεντολής.

    Sub DescriptionArgumentsForFunctionTextNumber()
    Dim arg1 As String
    Dim arg2 As String
    Dim arg3 As String
    Dim arg4 As String
    Dim arg5 As String
    Dim arg6 As String
    Dim arg7 As String
    Dim arg8 As String
    Dim arg9 As String
    Dim arg10 As String
    Dim arg11 As String
    Dim arg12 As String
    Dim arg13 As String
    arg1 = "ο αριθμός που θα διαβάσουμε"
    arg2 = "σύμβολο ή κείμενο μπροστά στον αριθμό"
    arg3 = "γένος του ακέραιου μέρος του αριθμού:1,2,3"
    arg4 = "μονάδα μέτρησης ακέραιου τμήματος αριθμού στον πληθυντικό"
    arg5 = "περιγραφή για 5ο όρισμα"
    arg6 = "περιγραφή για 6ο όρισμα"
    arg7 = "περιγραφή για 7ο όρισμα"
    arg8 = "περιγραφή για 8ο όρισμα"
    arg9 = "περιγραφή για 9ο όρισμα"
    arg10 = "περιγραφή για 10ο όρισμα"
    arg11 = "περιγραφή για 11ο όρισμα"
    arg12 = "περιγραφή για 12ο όρισμα"
    arg13 = "περιγραφή για 13ο όρισμα"
    Application.MacroOptions Macro:="TextNumber", _
    ArgumentDescriptions:=Array(arg1, arg2, arg3, arg4, arg5, _
    arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)
    End Sub
    

    β) στη θέση της περιγραφής των 13 ορισμάτων της συνάρτηση θα βάλεις μια σύντομη περιγραφή που σε βολεύει. Τα ορίσματα είναι στην ίδια σειρά που εμφανίζονται στον κώδικα της συνάρτησης και στην περιγραφή της. Για τα 4 πρώτα έχω γράψει ήδη, μπορείς να την αλλάξεις
    γ)Όπως είσαι στο περιβάλλον της VB επιλέγεις όλη τη μακροεντολή και στο μενού (της VB) επιλέγεις Run και στη συνέχεια Run Sub
    δ)Στην συνέχεια από το μενού επιλέγεις File και Save XXXX.xlsm (ή .xlam)
    όπου ΧΧΧΧ είναι το όνομα του βιβλίου ή του πρόσθετου.
    Στην περίπτωση που η συνάρτηση είναι στο PERSONAL.XLSB δεν κατάφερα να περάσω τις περιγραφές των ορισμάτων. Η μάκρο τρέχει χωρίς πρόβλημα αλλά δείχνει να μην δουλεύει. Δεν βρήκα κάτι σχετικό στο σύστημα βοήθειας της vba. Δούλεψα σε 2010. Αν κάποιος φίλος ξέρει κάτι σχετικό ας μας ενημερώσει.

  30. Ο/Η Γιάννης Θ. λέει:

    Δεν δοκίμασα το τελευταίο ακόμα. Όμως οφείλω ένα ΜΕΓΑΛΟ ΕΥΧΑΡΙΣΤΩ για την άμεση ανταπόκρισή σου στο θέμα μου!!!

  31. Ο/Η antonisM λέει:

    Θα ήθελα να μου υποδειξετε ενα τροπο να μετατρεπω αριθμους σε λεξεις στην access 2003 & στο word

  32. Ο/Η vioannis λέει:

    Αντώνη, και για το word και για την access πρέπει να γραφτεί εξ αρχής μια vba συνάρτηση ή μακροεντολή. Ή, να προσαρμοστεί ανάλογα η παραπάνω συνάρτηση για excel. Και τα δύο, όμως, ξεφεύγουν από τα όρια αυτού του ιστολογίου. Πάντως στο ιστολόγιο, εδώ, θα βρεις μια μακροεντολή που μετατρέπει ποσά ολογράφως στο word

  33. Ο/Η anmichalopoulou λέει:

    κ. Βαρλάμη,
    υπάρχει τρόπος να αλλάξει ο κώδικας της συγκεκριμένης μακροεντολής και στην περίπτωση δεκαδικού 0,5 αντί για πέντε δέκατα να γράφει και μισή (αναφέρεται σε ώρες)?
    Ευχαριστώ εκ των προτέρων

  34. Ο/Η vioannis λέει:

    Με τροποποίηση του κώδικα όχι, γιατί και το ακέραιο και το δεκαδικό τμήμα του αριθμού, μετατρέπονται σε λέξεις από τους ίδιους πίνακες των ολόγραφων αριθμητικών. Έτσι δεν μπορώ να κάνω αλλαγή μόνο για το δεκαδικό τμήμα. Αλλά, φίλη μου, πες μου πως γράφεις τις ώρες αριθμητικά; σαν δεκαδικούς; με διαχωριστικό την άνω κάτω τελεία; γράφεις και άλλες υποδιαιρέσεις εκτός από ακέραιες και μισές ώρες; Θα βρούμε λύση. Παράδειγμα, ο παρακάτω τύπος, διαβάζει ολόκληρες και μισές ώρες που έχουν γραφτεί σαν δεκαδικοί αριθμοί:

    =TextNumber(INT(A1))&IF(A1-INT(A1)>0;" και μισή";"")
    

    Δηλαδή θα διαβάσει:
    5 Πέντε
    5,5 Πέντε και μισή
    6 Έξι
    6,5 Έξι και μισή
    7 Επτά
    7,5 Επτά και μισή
    Το ίδιο θα διαβάσει, αν οι μισές ώρες είναι γραμμένες με ,30 πχ 5,30.

    Γενικά, για να γράψεις ώρες ολογράφως, ώρες που έχουν γραφτεί κατά τον τρόπο που θέλει το excel, δηλαδή στη μορφή ω:λλ:δδ, πρέπει με την βοήθεια της συνάρτησης φύλλου TEXT να αποσπάσεις τις ώρες, τα λεπτά και τα δεύτερα από την ώρα.
    Παράδειγμα, αν στο κελί Α1 υπάρχει η ώρα: 3:12:30 τότε οι τύποι

    =TEXT(A1;"ωω")
    =TEXT(A1;"λλ")
    =TEXT(A1;"δδ")
    

    θα επιστρέψουν αντίστοιχα 03, 12 και 30
    Βάζεις κάθε έναν από τους αριθμούς αυτούς, να τους διαβάσει η TextNumber και τα επί μέρους τμήματα τα συνενώνεις με τον τελεστή “και” (&).
    Παράδειγμα, ο τύπος:

    =TextNumber(TEXT(A1;"ωω");;2)&" και "&TextNumber(TEXT(A1;"λλ");;3;"λεπτά";"λεπτό")
    

    θα διαβάσει:
    10:10 Δέκα και Δέκα λεπτά
    10:15 Δέκα και Δεκαπέντε λεπτά
    1:20 Μία και Είκοσι λεπτά
    15:42 Δεκαπέντε και Σαράντα Δύο λεπτά
    8:30 Οκτώ και Τριάντα λεπτά
    0:25 Μηδέν και Είκοσι Πέντε λεπτά
    3:45 Τρεις και Σαράντα Πέντε λεπτά
    11:01 Έντεκα και Ένα λεπτό
    Τέλος, μπορείς παίζοντας με την συνάρτηση IF, να διαβάζεις τα τέταρτα σαν τέταρτα, τις μισές σαν μισές. Ο παρακάτω, λίγο μεγάλος, τύπος:

    =TextNumber(TEXT(A1;"ωω");;2)&IF(TEXT(A1;"λλ")="00";" ακριβώς";IF(TEXT(A1;"λλ")="15";" και Τέταρτο";IF(TEXT(A1;"λλ")="30";" και Μισή";" και "&TextNumber(TEXT(A1;"λλ");;3;"λεπτά";"λεπτό"))))
    

    θα διαβάσει:
    3:00 Τρεις ακριβώς
    3:01 Τρεις και Ένα λεπτό
    3:05 Τρεις και Πέντε λεπτά
    3:15 Τρεις και Τέταρτο
    3:30 Τρεις και Μισή
    3:31 Τρεις και Τριάντα Ένα λεπτά
    3:45 Τρεις και Σαράντα Πέντε λεπτά
    4:00 Τέσσερις ακριβώς

    Σημείωση: Αν δεν δουλεύεις σε ελληνικό excel, ίσως χρειαστεί να χρησιμοποιήσεις στους παραπάνω τύπους, στη θέση των ωω, λλ, δδ αντίστοιχα: hh, mm, ss

  35. Ο/Η anmichalopoulou λέει:

    Σας ευχαριστώ, Οι αριθμοί αφορούν διάρκεια εκδηλώσεων σε ώρες. Γράφονται σαν δεκαδικοί π.χ 4,5 και θέλουμε ολογράφως να φαίνεται τέσσερις και μισή.
    Ευχαριστώ πολύ

  36. Ο/Η ΒΑΣΙΛΗΣ ΖΙΑΚΚΑΣ λέει:

    Σε ευχαριστώ πάρα πολύ….οι συμβουλές σου στα σχόλια μου φάνηκαν πολύ χρήσιμες…πολύ καλη δουλειά!!

  37. Ο/Η se leooooooooooo λέει:

    Γεία σας θα ήθελα αν μπορεί κάποιος να με βοηθίσει θέλω να βρω τις εκατοντάδες τις μονάδες και τις δεκάδες του αριθμού 98154 πως το κάνουμε στο excel ;;;;

  38. Ο/Η vioannis λέει:

    Για έναν αριθμό γραμμένο στο κελί Α1, οι παρακάτω τύποι θα επιστρέφουν αντίστοιχα τις μονάδες, τις δεκάδες και τις εκατοντάδες του αριθμού

    =MOD(A1;10)
    =MOD(A1;100)
    =MOD(A1;1000)
    
  39. Ο/Η Sofita λέει:

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

  40. Ο/Η vioannis λέει:

    Sofita, Αν έχεις μία εγγραφή ‘Τάκης’ και μια εγγραφή ‘Τακ.’ και τις θεωρείς ίδιες, αυτό μόνο εσύ τις ξέρεις, όχι ο υπολογιστής. (Εκτός αν του δώσεις ένα πίνακα δύο στηλών όπου του καταχωρίσεις όλα τα ζευγάρια όσων θεωρείς ίδια και με κάποιο τρόπο, με συναρτήσεις ή με vba, τον ενημερώσεις για τις ταυτότητες, αλλά πάμε μακριά έτσι). Για να βρεις λοιπόν τα διπλότυπα σε μία στήλη έστω την Α1:Α100, σε μία άλλη άδεια στήλη έστω την Β1:Β100, στο κελί Β1 γράψε τον τύπο

    =COUNTIF($A$1:A1;A1)  
    

    και αντίγραψε ως το κελί Β100. Όπου η συνάρτηση επιστρέφει αριθμό μεγαλύτερο του 1 είναι διπλότυπο. Το πρόβλημα πεζών κεφαλαίων αντιμετωπίζεται, διότι η COUNTIF δεν κάνει διάκριση πεζών κεφαλαίων. Αν τα δεδομένα σου είναι σε ορθογώνιο πίνακα, τότε θα δημιουργήσεις ένα αντίστοιχο πίνακα με τις ίδιες διαστάσεις όπου το πρώτο πάνω αριστερά κελί θα περιέχει τον ίδιο τύπο,(αναφερόμενο στο πρώτο κελί του αρχικού πίνακα) και θα τον αντιγράψεις κάτω και δεξιά.

  41. Ο/Η Sofita λέει:

    Ευχαριστώ πολυ ! Μια ακομα ερώτηση, η συνάρτηση upper μπορεί να χρησιμοποιηθεί σε σύνολο κελιών πχ A1:A1000;

  42. Ο/Η vioannis λέει:

    Ναι, μπορεί να χρησιμοποιηθεί.

  43. Ο/Η Sofita λέει:

    Σας ευχαριστώ πολύ για τον χρόνο σας , η βοήθεια σας έιναι πολύτιμη !

Τα σχόλια είναι απενεργοποιημένα.