![]() |
Ενεργή συμμετοχή ... Αγαπητοί φίλοι και φίλες άνοιξα το θέμα αυτό με σκοπό να συγκεντρώσουμε έξυπνες και χρήσιμες συναρτήσεις. Έτσι οι διαχειριστές του ms-office.gr θα μπορέσουν να κάνουν επιλογή των πλέον χρήσιμων και να τις ανεβάσουν στα Tricks and tips του Excel. Βάλτε λοιπόν σε αυτό το θέμα τις ανακαλύψεις/συναρτήσεις Excel που θέλετε να μοιραστείτε με άλλους. Μην ξεχάσετε να περιγράψετε το τι κάνει. :police: Θανάσης ΥΓ Θέλω να πιστεύω ότι θα βρει ανταπόκριση το θέμα. :001_rolleyes: |
Ταξινόμηση αριθμών με χρήση συνάρτησης Να μια συνάρτηση αρκετά χρήσιμη κατά τη γνώμη μου Όταν θέλουμε να ταξινομήσουμε μια στήλη που περιέχει αριθμούς χωρίς να χρησιμοποιήσουμε τα μενού του Excel ή κώδικα VBA αλλά με χρήση συνάρτησης, τότε: Σε μια νέα στήλη στη γραμμή 1 βάζουμε τον τύπο =IF(ISERROR(SMALL(d:d;ROW()));"";SMALL(d:d;ROW())) και τον σέρνουμε προς τα κάτω όσο χρειάζεται. Σημ.: το d στον τύπο είναι η στήλη που περιέχει τους αριθμούς προς ταξινόμηση ΠΡΟΣΟΧΗ: Αν υπάρχει κείμενο ή κενά στην προς ταξινόμηση στήλη αγνοούνται !!! |
Excel - Ημερολόγιο Excel - Ημερολόγιο στα πεταχτά... Πώς φτιάχνουμε σε ένα φύλλο Excel, ένα ημερολόγιο με μήνες, ημέρες και με σήμανση στα Σαββατοκύριακα; Στο κελί A1 πληκτρολογούμε το έτος πχ. 2010 Επικολλούμε τον παρακάτω τύπο στο κελί A2: Κώδικας: =IF(MONTH(DATE($A$1;COLUMN();ROW()-1))=COLUMN();DATE($A$1;COLUMN();ROW()-1);"")Κώδικας: =WEEKDAY(A2;2)>5Αντιγράφουμε το κελί Α2 με CTRL+C Επιλέγουμε την περιοχή A2:L32 και επικολλούμε με CTRL+V Τάσος |
Επαλήθευση επικύρωση ΑΦΜ 1 Συνημμένο(α) Καλησπέρα στην ομάδα! Μπράβο Θανάση !!! Πολύ καλή η ιδέα σου!:045: (ή για να ακριβολογώ, η υλοποίησή της...:biggrin:) Ορίστε ένας ακόμη τύπος ο οποίος ελέγχει την εγκυρότητα ενός Α.Φ.Μ. και πιστεύω πως θα φανεί χρήσιμος σε όσους μαζεύουν αποδείξεις λιανικής και χρησιμοποιούν το Excel για την καταχώρησή τους.:cool: Κώδικας: =IF(G5<>"";IF(AND(NOT(ISERROR(--G5));LEN(G5)=9);Η μορφή του κελιού ελέγχου (όπου θα εισαχθεί ο Α.Φ.Μ.) θα πρέπει να έχει τεθεί σε τύπο "Κείμενο" έτσι ώστε να δέχεται τα πιθανά αρχικά μηδενικά ενός Α.Φ.Μ. Στο συνημμένο αρχείο θα βρείτε ένα παράδειγμα χρήσης του τύπου καθώς και την ανάλυση/επεξήγησή του. Έτσι, για να βοηθήσουμε και εμείς λίγο στη προσπάθεια πάταξης της φοροδιαφυγής...!:015: Φιλικά, Γιάννης |
Επαλήθευση επικύρωση ΑΦΜ (με λάθη) Παράθεση:
έτσι για ανταπόδοση των "compliments" :lol: Αν μου επιτρέπεις το MOD(....;10) δεν χρειάζεται αφου έχεις --RIGHT(G5;1) και αν θέλουμε να μικρύνει ακόμα περισσότερο θα έλεγα ούτε το NOT :closedeyes: Τι λες για αυτόν (τα κελιά που περιέχουν τον ΑΦΜ είναι κείμενο όπως προείπες) Κώδικας: =IF(M5<>"";IF(OR(ISERROR(--M5);LEN(M5)<>9);"Λάθος καταχώρηση!";ή αν τα κελιά που περιέχουν τον ΑΦΜ δεν είναι απαραίτητα κείμενο, θα έλεγα Κώδικας: =IF(M6<>"";IF(OR(ISERROR(--M6);LEN(M6)>9);"Λάθος καταχώρηση!";Όλα για το κέρδος γιατί έρχονται δύσκολες μέρες :lol: Τα λέμε Θανάσης ΥΓ Οι μετρήσεις έγιναν με Excel 2002 Ελληνικό :001_cool: |
Επαλήθευση επικύρωση ΑΦΜ (με λάθη) Καλημέρα σε όλους! Δείτε το και με τύπο πίνακα: Δεν είχα περιθώρια να ελέγξω τον τύπο με περισσότερα ΑΦΜ αλλά τουλάχιστον κάνει το ίδιο που κάνουν και οι υπόλοιποι τύποι στο θέμα αυτό. Κώδικας: {=IF(A1<>"";IF(LEN(A1)=9;IF(MOD(SUM(MID(A1;9-ROW($1:$8);1)*2^ROW($1:$8));11)=RIGHT(A1;1)*1;"ΟΚ!";"Άκυρο!")Τα λέμε.. Τάσος |
Εύρεση τριμήνου από ημερομηνία Καλησπέρα σας να μπώ και εγώ σφήνα στους ειδικούς με μια συνάρτηση που με είχε ταλαιπωρήσει για καιρό και κατάφερα να βρώ μόνος μου. :dft001: Εύρεση τριμήνου από ημερομηνία αν έχουμε μια ημερομηνία στο κελί Α1 πχ 8/2/2010 τότε ο τύπος: =ROUND((MONTH(A1)+1)/3;0)&"ο τρίμηνο" μας δίνει το τρίμηνο δηλαδή "1ο τρίμηνο" για το παράδειμα. Θανάσης ΥΓ. Μπράβο παιδιά πολύ χρήσιμο αυτό με τον ΑΦΜ :045: |
Επαλήθευση επικύρωση ΑΦΜ Καλησπέρα! Παράθεση:
και αυτό σίγουρα δεν ισούται με το τελευταίο ψηφίο του Α.Φ.Μ. Επίσης ο έλεγχος ISERROR(--G5) είχε μπει για απόκρυψη της τιμής σφάλματος #VALUE! έτσι ώστε να είναι πιο φιλική προς το χρήστη η "φόρμα" εισαγωγής.:001_cool: Όσο για την αυτόματη συμπλήρωση Θανάση, νομίζω πως είναι λίγο επισφαλής διαδικασία. Καλλίτερα την ευθύνη των όσων εισάγονται να την έχει ο χρήστης. Οπότε μάλλον η πιο συντομευμένη έκδοση είναι αυτή του Τάσου η οποία γλιτώνει αρκετούς χαρακτήρες από τους σταθερούς πίνακες με τη χρήση της ROW(). Αρκεί να προστεθεί και η MOD(....;10) για σωστά αποτελέσματα αλλά και προαιρετικά η ISERROR(--G5).:thumbup1: |
Εύρεση τριμήνου ή εξαμήνου από ημερομηνία Παράθεση:
Φυσικά να μπεις και εσύ! Χωράει πολλούς καλούς αυτό το φόρουμ!:021: Πολύ χρήσιμος ο τύπος σου και μάλιστα μπορούμε να αντικαταστήσουμε την ROUND() με την INT() όπως παρακάτω: Φαντάζομαι θα είναι πιο γρήγορη από την ROUND...:001_unsure: =INT((MONTH(A1)-1)/3)+1 Φυσικά στο ίδιο μοτίβο λειτουργούμε και για εξάμηνα κτλ. =INT((MONTH(Α1)-1)/6)+1 Φιλικά, Γιάννης :hammer-smilies-0003 |
Αναζήτηση της πλησιέστερης τιμής Τώρα με τις περικοπές και τα σκληρά μέτρα λιτότητας:cry:, πιθανώς να μας φανεί χρήσιμος και ο παρακάτω τύπος ο οποίος επιστρέφει την πλησιέστερη τιμή σε μια τιμή στόχο από μια περιοχή τιμών μιας στήλης. Έτσι, για να βρίσκουμε τα πιο κοντινά στις οικονομικές μας δυνατότητες προϊόντα.:008: Κώδικας: =INDEX($A$1:$A$10;MATCH(MIN(INDEX(ABS($A$1:$A$10-C1);));INDEX(ABS($A$1:$A$10-C1););0))Φυσικά η περιοχή αναζήτησης της εξωτερικής INDEX() μπορεί να είναι διαφορετική από τις άλλες δύο. Δοκιμάστε τον. :dft009: Υ.Γ. Κάτι μου λέει πως το θέμα θα μετονομαστεί σε: Αγαπάς το Excel; Απόδειξη!!! :011: |
Επαλήθευση επικύρωση ΑΦΜ (με λάθη) Καλησπέρα Γιάννη μου. Παράθεση:
Κώδικας: {=IF(A1<>"";IF(LEN(A1)=9;IF(MOD(MOD(SUM(MID(A1;9-ROW($1:$8);1)*2^ROW($1:$8))*1;10)=RIGHT(A1;1)*1;10);"ΟΚ!";Τάσος |
Επαλήθευση επικύρωση ΑΦΜ (τύπος πίνακα) Όχι Τάσο! Το σωστό είναι έτσι: "MOD(MOD(Άθροισμα;11);10)" Κώδικας: =IF(A1<>"";IF(LEN(A1)=9;IF(MOD(MOD(SUM(MID(A1;9-ROW($1:$8);1)*2^ROW($1:$8));11);10)=RIGHT(A1;1)*1;"ΟΚ!";Αν θέλεις τσεκάρισε τους Α.Φ.Μ. ΕΔΩ. Για παράδειγμα ο "090000010" είναι έγκυρος ενώ ο "090000020" όχι. Η τιμή #VALUE! βγαίνει όταν υπάρχει μη αριθμητικός χαρακτήρας μέσα στον Α.Φ.Μ. Για παράδειγμα ένα κεφαλαίο όμικρον (Ο) αντί για μηδέν (0). :grin: Μοιάζουνε κιόλας τα σκασμένα!:laugh: |
Επαλήθευση επικύρωση ΑΦΜ Παράθεση:
το MOD(...;10) είναι αναγκαίο. Μπερδεύτικα με την RIGHT(..;1) που παίρνει μόνο το τελευταίο ψηφίο, του ΑΦΜ όμως και όχι του αποτελέσματος της MOD(..;11) Θα συμφωνήσω ακόμα ότι η πρόταση του Τάσου με χρήση συνάρτησης πίνακα είναι η οικονομικότερη. Μάλλον εγώ τον παρέσυρα και παρέλειψε και αυτός το MOD(...;10) Συγνώμη για το μπέρδεμα. :dft004: Θανάσης ΥΓ. Το έχω πει ότι μου αρέσουν οι παρατηρήσεις διορθώνομαι :hammer-smilies-0001 |
Δεκτή η συγγνώμη σου Θανάση αλλά η EXELιξη έτσι είναι. Try and error! :hammer-smilies-0002 ...Χρόνια τώρα!:021: |
:007: Έχεις δίκιο! Έτσι την έχω κι εγώ αλλά απλά επικόλλησα λάθος συνάρτηση! Δεν βγάζει όμως σε καμία περιπτωση #VALUE!.:blush: |
Επικύρωση δεδομένων Δεν πρόκειται για συνάρτηση αλλά για ένα πολύ χρήσιμο κατά την γνώμη μου κόλπο.:wink: Θα έχετε διαπιστώσει ίσως ότι όταν το κελί που θέλουμε να εφαρμόσουμε Επικύρωση δεν βρίσκεται στο ίδιο φύλλο με την λίστα που θέλουμε, το Excel (τουλάχιστον μέχρι την έκδοση 2003) δεν το δέχεται. :sad: Η λύση βρίσκεται στο να ορίσουμε κάποιο όνομα για την επιθυμητή λίστα και να εισάγουμε το όνομα αντί της διεύθυνσης της περιοχής. Παράδειγμα: Αν στο φύλλο1 η περιοχή a1 έως a5 έχει ονόματα φρούτων, και θέλουμε να μπορούμε να επιλέγουμε ένα από αυτά στο κελί a1 του φύλλο2, εργαζόμαστε ως εξής: Στο Φύλλο1 επιλέγουμε την περιοχή από a1 έως a5 και στο μενού Εισαγωγή Όνομα Ορισμός γράφουμε frouta (η Αναφορά σε: δείχνει "=Φύλλο1!$A$1:$A$5"). Πάμε στο Φύλλο2 και επιλέγουμε το κελί a1 στο μενού Δεδομένα Επικύρωση επιλέγουμε Επιτρεπόμενη καταχώρηση "Λίστα" και στο Προέλευση γράφουμε =frouta Ελπίζω να σας φανεί χρήσιμο. Γενικότερα η χρήση ονομάτων στο Excel είναι κάτι σαν ορισμός μεταβλητών.:icon_superman: Θανάσης ΥΓ. Στο Excel 2007 μπορούμε γράψουμε κατευθείαν =Φύλλο1!$a$1:$a$5 στο Προέλευση, αλλά δεν μπορούμε να επιλέξουμε με το ποντίκι την περιοχή. :023: |
Σύγκριση δύο κελιών Μερικές φορές όταν θέλουμε να συγκρίνουμε δύο κελιά μας ενδιαφέρει να δούμε αν έχουν το ίδιο ακριβώς περιεχόμενο. Δηλαδή να γίνεται διάκριση πεζών κεφαλαίων. Παράδειγμα: το "Τιμή_1" είναι διαφορετικό από το "τιμή_1" ή το "ΤΙΜΗ_1" Αν υποθέσω ότι τα δύο προς σύγκριση κελιά είναι το Α1 και το Β1 τότε η απάντηση είναι ο τύπος: Κώδικας: =IF(OR(ISERROR(FIND(A1;LEFT(B1;LEN(A1))));ISERROR(FIND(B1;LEFT(A1;LEN(B1)))));"Α1≠Β1";"Α1=Β1")Εσείς αποφασίζεται αν είναι χρήσιμο και πότε χρειάζεται η διαφοροποίηση. Τώρα ξέρετε τον τρόπο :wink: Θανάσης |
Απόλυτη σύγκριση τιμών κειμένου Θανάση, δεν κατάλαβα σωστά ή ο παρακάτω τύπος είναι ισοδύναμος με τον τύπο που μας έδωσες; :unsure: Κώδικας: =IF(EXACT(A1;B1);"Α1=Β1";"Α1≠Β1") |
Καλημέρα. φίλε Γιάννη εσύ πολύ σωστά κατάλαβες. Τώρα όσο για μένα, εγώ έμαθα την ύπαρξη της EXACT που αγνοούσα μέχρι σήμερα !!! :newpaper: Ευχαριστώ. ΥΓ. Να που πάντα υπάρχει κατι που δεν ξέρουμε και μαθαίνουμε. Το να το θυμόμαστε βέβαια είναι άλλο κεφάλαιο. :wink: |
| Η ώρα είναι 22:02. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.