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/368-energi-symmetoxi.html)

gr8styl 03-02-10 20:37

Ενεργή συμμετοχή ...
 
Αγαπητοί φίλοι και φίλες
άνοιξα το θέμα αυτό με σκοπό να συγκεντρώσουμε έξυπνες και χρήσιμες συναρτήσεις.
Έτσι οι διαχειριστές του ms-office.gr θα μπορέσουν να κάνουν επιλογή των πλέον χρήσιμων και να τις ανεβάσουν στα Tricks and tips του Excel.

Βάλτε λοιπόν σε αυτό το θέμα τις ανακαλύψεις/συναρτήσεις Excel που θέλετε να μοιραστείτε με άλλους.

Μην ξεχάσετε να περιγράψετε το τι κάνει. :police:

Θανάσης
ΥΓ Θέλω να πιστεύω ότι θα βρει ανταπόκριση το θέμα. :001_rolleyes:

gr8styl 03-02-10 20:40

Ταξινόμηση αριθμών με χρήση συνάρτησης
 
Να μια συνάρτηση αρκετά χρήσιμη κατά τη γνώμη μου

Όταν θέλουμε να ταξινομήσουμε μια στήλη που περιέχει αριθμούς χωρίς να χρησιμοποιήσουμε τα μενού του Excel ή κώδικα VBA αλλά με χρήση συνάρτησης, τότε:

Σε μια νέα στήλη στη γραμμή 1 βάζουμε τον τύπο

=IF(ISERROR(SMALL(d:d;ROW()));"";SMALL(d:d;ROW()))

και τον σέρνουμε προς τα κάτω όσο χρειάζεται.

Σημ.: το d στον τύπο είναι η στήλη που περιέχει τους αριθμούς προς ταξινόμηση

ΠΡΟΣΟΧΗ: Αν υπάρχει κείμενο ή κενά στην προς ταξινόμηση στήλη αγνοούνται !!!

Tasos 05-02-10 11:31

Excel - Ημερολόγιο
 
Excel - Ημερολόγιο στα πεταχτά...

Πώς φτιάχνουμε σε ένα φύλλο Excel, ένα ημερολόγιο με μήνες, ημέρες και με σήμανση
στα Σαββατοκύριακα;

Στο κελί A1 πληκτρολογούμε το έτος πχ. 2010

Επικολλούμε τον παρακάτω τύπο στο κελί A2:

Κώδικας:

=IF(MONTH(DATE($A$1;COLUMN();ROW()-1))=COLUMN();DATE($A$1;COLUMN();ROW()-1);"")
Στο κελί A2 χρησιμοποιούμε μορφοποίηση υπό όρους στην οποία προσθέτουμε τον παρακάτω τύπο:

Κώδικας:

=WEEKDAY(A2;2)>5
και δίνουμε το χρώμα φόντου που επιθυμούμε.

Αντιγράφουμε το κελί Α2 με CTRL+C

Επιλέγουμε την περιοχή A2:L32 και επικολλούμε με CTRL+V

Τάσος

nisgia 06-02-10 22:06

Επαλήθευση επικύρωση ΑΦΜ
 
1 Συνημμένο(α)
Καλησπέρα στην ομάδα!

Μπράβο Θανάση !!!
Πολύ καλή η ιδέα σου!:045:
(ή για να ακριβολογώ, η υλοποίησή της...:biggrin:)

Ορίστε ένας ακόμη τύπος ο οποίος ελέγχει την εγκυρότητα ενός Α.Φ.Μ.
και πιστεύω πως θα φανεί χρήσιμος σε όσους μαζεύουν αποδείξεις λιανικής
και χρησιμοποιούν το Excel για την καταχώρησή τους.:cool:

Κώδικας:

=IF(G5<>"";IF(AND(NOT(ISERROR(--G5));LEN(G5)=9);
IF(MOD(MOD(SUM(MID(G5;9-{1;2;3;4;5;6;7;8};1)*(2^{1;2;3;4;5;6;7;8}));11);10)=--RIGHT(G5;1);
"Έγκυρος Α.Φ.Μ.";"Μη έγκυρος Α.Φ.Μ.");"Λάθος καταχώρηση!");"")

Αντιγράψτε τον και επικολλήστε τον κατευθείαν στη γραμμή τύπου διότι περιέχει αλλαγές γραμμής.

Η μορφή του κελιού ελέγχου (όπου θα εισαχθεί ο Α.Φ.Μ.) θα πρέπει να έχει τεθεί σε τύπο "Κείμενο"
έτσι ώστε να δέχεται τα πιθανά αρχικά μηδενικά ενός Α.Φ.Μ.

Στο συνημμένο αρχείο θα βρείτε ένα παράδειγμα χρήσης του τύπου καθώς και την ανάλυση/επεξήγησή του.

Έτσι, για να βοηθήσουμε και εμείς λίγο στη προσπάθεια πάταξης της φοροδιαφυγής...!:015:

Φιλικά,
Γιάννης

gr8styl 07-02-10 12:16

Επαλήθευση επικύρωση ΑΦΜ (με λάθη)
 
Παράθεση:

Αρχική Δημοσίευση από nisgia (Μήνυμα 1448)
...
Ορίστε ένας ακόμη τύπος ο οποίος ελέγχει την εγκυρότητα ενός Α.Φ.Μ.
και πιστεύω πως θα φανεί χρήσιμος σε όσους μαζεύουν αποδείξεις λιανικής
και χρησιμοποιούν το Excel για την καταχώρησή τους.:cool:
Κώδικας:

=IF(G5<>"";IF(AND(NOT(ISERROR(--G5));LEN(G5)=9);
IF(MOD(MOD(SUM(MID(G5;9-{1;2;3;4;5;6;7;8};1)*(2^{1;2;3;4;5;6;7;8}));11);10)=--RIGHT(G5;1);
"Έγκυρος Α.Φ.Μ.";"Μη έγκυρος Α.Φ.Μ.");"Λάθος καταχώρηση!");"")

...

Μπράβο Γιάννη πολύ καλό :thumbup1:
έτσι για ανταπόδοση των "compliments" :lol:

Αν μου επιτρέπεις το MOD(....;10) δεν χρειάζεται αφου έχεις --RIGHT(G5;1)
και αν θέλουμε να μικρύνει ακόμα περισσότερο θα έλεγα ούτε το NOT :closedeyes:

Τι λες για αυτόν (τα κελιά που περιέχουν τον ΑΦΜ είναι κείμενο όπως προείπες)
Κώδικας:

=IF(M5<>"";IF(OR(ISERROR(--M5);LEN(M5)<>9);"Λάθος καταχώρηση!";
IF(MOD(SUM(MID(M5;9-{1;2;3;4;5;6;7;8};1)*(2^{1;2;3;4;5;6;7;8}));11)=--RIGHT(M5;1);
"Έγκυρος Α.Φ.Μ.";"Μη έγκυρος Α.Φ.Μ."));"")

Κερδίζουμε 6 bytes ανά κελί που περιέχει τον τύπο στο τελικό αποθηκευμένο βιβλίο :wink:

ή αν τα κελιά που περιέχουν τον ΑΦΜ δεν είναι απαραίτητα κείμενο, θα έλεγα
Κώδικας:

=IF(M6<>"";IF(OR(ISERROR(--M6);LEN(M6)>9);"Λάθος καταχώρηση!";
IF(MOD(SUM(MID(RIGHT(REPT("0";9)&M6;9);9-{1;2;3;4;5;6;7;8};1)*(2^{1;2;3;4;5;6;7;8}));11)=--RIGHT(M6;1);
"Έγκυρος Α.Φ.Μ.";"Μη έγκυρος Α.Φ.Μ."));"")

όπου το κέρδος είναι όμως μόνον 1 byte ανά κελί που περιέχει τον τύπο (παρά του ότι ο τύπος είναι μακρύτερος).
Όλα για το κέρδος γιατί έρχονται δύσκολες μέρες :lol:

Τα λέμε
Θανάσης
ΥΓ Οι μετρήσεις έγιναν με Excel 2002 Ελληνικό :001_cool:

Tasos 08-02-10 10:26

Επαλήθευση επικύρωση ΑΦΜ (με λάθη)
 
Καλημέρα σε όλους!

Δείτε το και με τύπο πίνακα:

Δεν είχα περιθώρια να ελέγξω τον τύπο με περισσότερα ΑΦΜ αλλά τουλάχιστον κάνει το ίδιο που κάνουν και οι υπόλοιποι τύποι στο θέμα αυτό.

Κώδικας:

{=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;"ΟΚ!";"Άκυρο!")
;"Λάθος καταχώρηση!");"")} Προσοχή! Τύπος Πίνακα (CSE)



Τα λέμε..

Τάσος

Θανάσης 08-02-10 16:57

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

Εύρεση τριμήνου από ημερομηνία

αν έχουμε μια ημερομηνία στο κελί Α1 πχ 8/2/2010 τότε ο τύπος:

=ROUND((MONTH(A1)+1)/3;0)&"ο τρίμηνο"

μας δίνει το τρίμηνο δηλαδή "1ο τρίμηνο" για το παράδειμα.

Θανάσης
ΥΓ. Μπράβο παιδιά πολύ χρήσιμο αυτό με τον ΑΦΜ :045:

nisgia 08-02-10 21:31

Επαλήθευση επικύρωση ΑΦΜ
 
Καλησπέρα!
Παράθεση:

Αρχική Δημοσίευση από gr8styl (Μήνυμα 1461)
Αν μου επιτρέπεις το MOD(....;10) δεν χρειάζεται αφου έχεις --RIGHT(G5;1)

Δυστυχώς φίλοι μου η MOD(....;10) είναι απαραίτητη στην περίπτωση που η MOD(....;11) επιστρέφει 10
και αυτό σίγουρα δεν ισούται με το τελευταίο ψηφίο του Α.Φ.Μ.

Επίσης ο έλεγχος ISERROR(--G5) είχε μπει για απόκρυψη της τιμής σφάλματος #VALUE!
έτσι ώστε να είναι πιο φιλική προς το χρήστη η "φόρμα" εισαγωγής.:001_cool:

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

Οπότε μάλλον η πιο συντομευμένη έκδοση είναι αυτή του Τάσου η οποία γλιτώνει αρκετούς χαρακτήρες
από τους σταθερούς πίνακες με τη χρήση της ROW().
Αρκεί να προστεθεί και η MOD(....;10) για σωστά αποτελέσματα αλλά και προαιρετικά η ISERROR(--G5).:thumbup1:

nisgia 08-02-10 21:43

Εύρεση τριμήνου ή εξαμήνου από ημερομηνία
 
Παράθεση:

Αρχική Δημοσίευση από Θανάσης (Μήνυμα 1484)
Καλησπέρα σας
να μπώ και εγώ σφήνα στους ειδικούς...

Καλησπέρα Θανάση!
Φυσικά να μπεις και εσύ! Χωράει πολλούς καλούς αυτό το φόρουμ!:021:

Πολύ χρήσιμος ο τύπος σου και μάλιστα μπορούμε να αντικαταστήσουμε την ROUND() με την INT() όπως παρακάτω:
Φαντάζομαι θα είναι πιο γρήγορη από την ROUND...:001_unsure:

=INT((MONTH(A1)-1)/3)+1

Φυσικά στο ίδιο μοτίβο λειτουργούμε και για εξάμηνα κτλ.

=INT((MONTH(Α1)-1)/6)+1

Φιλικά,
Γιάννης
:hammer-smilies-0003

nisgia 08-02-10 22:00

Αναζήτηση της πλησιέστερης τιμής
 
Τώρα με τις περικοπές και τα σκληρά μέτρα λιτότητας:cry:, πιθανώς να μας φανεί χρήσιμος
και ο παρακάτω τύπος ο οποίος επιστρέφει την πλησιέστερη τιμή σε μια τιμή στόχο από μια περιοχή τιμών μιας στήλης.
Έτσι, για να βρίσκουμε τα πιο κοντινά στις οικονομικές μας δυνατότητες προϊόντα.:008:

Κώδικας:

=INDEX($A$1:$A$10;MATCH(MIN(INDEX(ABS($A$1:$A$10-C1);));INDEX(ABS($A$1:$A$10-C1););0))
Όπου $A$1:$A$10 η περιοχή αναζήτησης και C1 η τιμή στόχος.
Φυσικά η περιοχή αναζήτησης της εξωτερικής INDEX() μπορεί να είναι διαφορετική από τις άλλες δύο.

Δοκιμάστε τον. :dft009:

Υ.Γ.
Κάτι μου λέει πως το θέμα θα μετονομαστεί σε: Αγαπάς το Excel; Απόδειξη!!! :011:


Η ώρα είναι 15:48.

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


Search Engine Optimization by vBSEO 3.3.2