Συνάρτηση IF – ένθετοι τύποι και αποφυγή παγίδων

Συνάρτηση IF – ένθετοι τύποι και αποφυγή παγίδων

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

  • =IF(κάτι είναι αληθές, τότε κάνε κάτι, διαφορετικά κάνε κάτι άλλο)

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

Οι προτάσεις IF είναι πολύ ισχυρές και αποτελούν τη βάση για πολλά μοντέλα υπολογιστικών φύλλων, αλλά είναι επίσης η βασική αιτία πολλών προβλημάτων των υπολογιστικών φύλλων. Ιδανικά, μια πρόταση IF θα πρέπει να εφαρμόζεται σε ελάχιστες συνθήκες, όπως Άντρας/Γυναίκα ή Ναι/Όχι/Ίσως για παράδειγμα. Ωστόσο, μερικές φορές μπορεί να πρέπει να αξιολογήσετε πιο σύνθετα σενάρια που απαιτούν ένθεση* περισσότερων από 3 συναρτήσεων IF μαζί.

* "Ένθεση" ονομάζεται η πρακτική της σύνδεσης πολλών συναρτήσεων μαζί σε έναν τύπο.

Χρησιμοποιήστε τη συνάρτηση IF, μία από τις λογικές συναρτήσεις, για την επιστροφή μίας τιμής εάν μια συνθήκη είναι αληθής και μια άλλη, εάν η συνθήκη είναι ψευδής.

Σύνταξη

IF(λογικός_έλεγχος; τιμή_αν_true; [τιμή_αν_false])

Για παράδειγμα:

  • =IF(A2>B2;"Εκτός προϋπολογισμού";"OK")

  • =IF(A2=B2;B4-A4;"")

Όνομα ορίσματος

Περιγραφή

λογικός_έλεγχος   

(απαιτείται)

Η συνθήκη που θέλετε να ελέγξετε.

τιμή_αν_true   

(απαιτείται)

Η τιμή που θέλετε να επιστραφεί εάν το αποτέλεσμα λογικός_έλεγχος είναι TRUE.

τιμή_αν_false   

(προαιρετικό)

Η τιμή που θέλετε να επιστραφεί εάν το αποτέλεσμα λογικός_έλεγχος είναι FALSE.

Παρατηρήσεις

Παρόλο που το Excel θα σας επιτρέψει να κάνετε ένθεση έως 64 διαφορετικών συναρτήσεων IF, δεν συνιστάται καθόλου να κάνετε κάτι τέτοιο. Γιατί;

  • Οι πολλαπλές προτάσεις IF απαιτούν πολλή σκέψη για να δομηθούν σωστά και να εξασφαλιστεί ότι η λογική τους μπορεί να υπολογίσει σωστά κάθε συνθήκη από την αρχή μέχρι το τέλος. Εάν η ένθεση του τύπου σας δεν είναι 100% ακριβής, τότε μπορεί να λειτουργεί σωστά στο 75% των περιπτώσεων, αλλά να επιστρέφει μη αναμενόμενα αποτελέσματα στο 25% των περιπτώσεων. Δυστυχώς, η πιθανότητα να αλιεύσετε το 25% είναι μικρή.

  • Η συντήρηση των πολλαπλών προτάσεων IF μπορεί να γίνει απίστευτα δύσκολη, ειδικά όταν επιστρέφετε σε αυτές μετά από κάποιο διάστημα και προσπαθείτε να καταλάβετε τι προσπαθούσατε να κάνετε εσείς ή, ακόμη χειρότερα, κάποιος άλλος.

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

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

Παραδείγματα

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

Σύνθετη ένθετη πρόταση IF - Ο τύπος στο κελί E2 είναι =IF(B2>97;"A+";IF(B2>93;"A";IF(B2>89;"A-";IF(B2>87;"B+";IF(B2>83;"B";IF(B2>79;"B-";IF(B2>77;"C+";IF(B2>73;"C";IF(B2>69;"C-";IF(B2>57;"D+";IF(B2>53;"D";IF(B2>49;"D-";"F"))))))))))))
  • =IF(D2>89;"A";IF(D2>79;"B";IF(D2>69;"C";IF(D2>59;"D";"F"))))

    Αυτή η σύνθετη ένθετη πρόταση IF έχει μια απλή λογική:

  1. Εάν η βαθμολογία διαγωνίσματος (στο κελί D2) είναι μεγαλύτερη από 89, τότε ο μαθητής παίρνει A.

  2. Εάν η βαθμολογία διαγωνίσματος είναι μεγαλύτερη από 79, τότε ο μαθητής παίρνει B.

  3. Εάν η βαθμολογία διαγωνίσματος είναι μεγαλύτερη από 69, τότε ο μαθητής παίρνει C.

  4. Εάν η βαθμολογία διαγωνίσματος είναι μεγαλύτερη από 59, τότε ο μαθητής παίρνει D.

  5. Διαφορετικά ο μαθητής παίρνει F.

Αυτό το συγκεκριμένο παράδειγμα είναι σχετικά ασφαλές, επειδή δεν είναι πιθανό να αλλάξει η συσχέτιση μεταξύ των βαθμολογιών διαγωνίσματος και των βαθμών, επομένως δεν θα απαιτεί ιδιαίτερη συντήρηση. Τι γίνεται όμως εάν πρέπει να σπάσετε τους βαθμούς σε A+, A και A- (και ούτω καθεξής); Τώρα η πρόταση IF με 4 συνθήκες πρέπει να γραφτεί ξανά για να έχει 12 συνθήκες! Να πώς θα μοιάζει ο τύπος σας τώρα:

  • =IF(B2>97;"A+";IF(B2>93;"A";IF(B2>89;"A-";IF(B2>87;"B+";IF(B2>83;"B";IF(B2>79;"B-"; IF(B2>77;"C+";IF(B2>73;"C";IF(B2>69;"C-";IF(B2>57;"D+";IF(B2>53;"D";IF(B2>49;"D-";"F"))))))))))))

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

Συμβουλή: Κάθε συνάρτηση στο Excel απαιτεί αριστερή και δεξιά παρένθεση (). Το Excel θα προσπαθήσει να σας βοηθήσει να βρείτε τι πηγαίνει πού χρωματίζοντας τα διάφορα μέρη του τύπου σας όταν τον επεξεργάζεστε. Για παράδειγμα, εάν επεξεργαστείτε τον παραπάνω τύπο, καθώς μετακινείτε τον δρομέα πέρα από καθεμία από τις δεξιές παρενθέσεις ")", η αντίστοιχη αριστερή παρένθεση παίρνει το ίδιο χρώμα. Αυτό είναι ιδιαίτερα χρήσιμο σε σύνθετους ένθετους τύπους, όταν προσπαθείτε να διαπιστώσετε εάν έχετε αρκετές αντίστοιχες παρενθέσεις.

Πρόσθετα παραδείγματα

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

Ο τύπος στο κελί D9 είναι IF(C9>15000;20%;IF(C9>12500;17,5%;IF(C9>10000;15%;IF(C9>7500;12,5%;IF(C9>5000;10%;0)))))
  • =IF(C9>15000;20%;IF(C9>12500;17,5%;IF(C9>10000;15%;IF(C9>7500;12,5%;IF(C9>5000;10%;0)))))

Αυτός ο τύπος λέει τα εξής: IF(C9 είναι μεγαλύτερο από 15.000, τότε να επιστραφεί η τιμή 20%, IF(C9 είναι μεγαλύτερο από 12.500 τότε να επιστραφεί η τιμή 17,5% και ούτω καθεξής...

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

Συμβουλή: Μπορείτε να εισαγάγετε αλλαγές γραμμής στη γραμμή τύπων για να διαβάζετε ευκολότερα τους μεγάλους τύπους. Απλώς πατήστε το συνδυασμό πλήκτρων ALT+ENTER πριν από το κείμενο που θέλετε να αναδιπλωθεί σε μια νέα γραμμή.

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

Ο τύπος στο κελί D9 είναι εκτός σειράς ως =IF(C9>5000;10%;IF(C9>7500;12,5%;IF(C9>10000;15%;IF(C9>12500;17,5%;IF(C9>15000;20%;0)))))

Μπορείτε να δείτε τι συμβαίνει; Συγκρίνετε τη σειρά των συγκρίσεων εσόδων με το προηγούμενο παράδειγμα. Εδώ προς τα πού πηγαίνουν; Σωστά, πηγαίνουν από κάτω προς τα επάνω (από €5.000 έως €15.000) και όχι το αντίστροφο. Γιατί όμως είναι πρόβλημα αυτό; Είναι πρόβλημα επειδή ο τύπος δεν μπορεί να προχωρήσει πέρα από την πρώτη αξιολόγηση για οποιαδήποτε τιμή μεγαλύτερη από €5.000. Ας υποθέσουμε ότι έχετε έσοδα €12.500: η πρόταση IF θα επιστρέψει 10%, επειδή είναι περισσότερα από €5.000 και θα σταματήσει εκεί. Αυτό μπορεί να είναι πολύ προβληματικό, επειδή σε πολλές περιπτώσεις αυτοί οι τύποι σφαλμάτων περνούν απαρατήρητοι μέχρι να έχουν αρνητικές συνέπειες. Γνωρίζοντας λοιπόν ότι οι σύνθετες ένθετες προτάσεις IF κρύβουν ορισμένες σοβαρές παγίδες, τι μπορείτε να κάνετε; Στις περισσότερες περιπτώσεις, μπορείτε να χρησιμοποιήσετε τη συνάρτηση VLOOKUP αντί να δημιουργήσετε έναν σύνθετο τύπο με τη συνάρτηση IF. Όταν χρησιμοποιείτε τη συνάρτηση VLOOKUP, πρέπει πρώτα να δημιουργήσετε έναν πίνακα αναφοράς:

Ο τύπος στο κελί D2 είναι =VLOOKUP(C2;C5:D17;2;TRUE)
  • =VLOOKUP(C2;C5:D17;2;TRUE)

Αυτός ο τύπος αναζητά την τιμή του κελιού C2 στην περιοχή C5:C17. Εάν βρεθεί η τιμή, τότε επιστρέφει την αντίστοιχη τιμή από την ίδια γραμμή στη στήλη D.

Ο τύπος στο κελί C9 είναι =VLOOKUP(B9;B2:C6;2;TRUE)
  • =VLOOKUP(B9;B2:C6;2;TRUE)

Αντίστοιχα, αυτός ο τύπος αναζητά την τιμή του κελιού B9 στην περιοχή B2:B22. Εάν βρεθεί η τιμή, τότε επιστρέφει την αντίστοιχη τιμή από την ίδια γραμμή στη στήλη C.

Σημείωση: Και οι δύο αυτοί τύποι VLOOKUP χρησιμοποιούν το όρισμα TRUE στο τέλος του τύπου, που σημαίνει ότι θέλουμε να αναζητήσουν μια κατά προσέγγιση αντιστοιχία. Με άλλα λόγια, θα αντιστοιχίσουν τις ακριβείς τιμές στον πίνακα αναζήτησης, καθώς και τυχόν τιμές που βρίσκονται ανάμεσα. Σε αυτή την περίπτωση, οι πίνακες αναζήτησης πρέπει να είναι ταξινομημένοι με αύξουσα σειρά, από τη μικρότερη στη μεγαλύτερη τιμή.

Η συνάρτηση VLOOKUP καλύπτεται με πολύ περισσότερες λεπτομέρειες εδώ, αλλά σίγουρα είναι πολύ πιο απλή από μια πολύπλοκη ένθετη πρόταση IF 12 επιπέδων! Υπάρχουν και άλλα, λιγότερο εμφανή πλεονεκτήματα:

  • Οι πίνακες αναφοράς VLOOKUP είναι προσβάσιμοι και μπορεί να τους δει κανείς εύκολα.

  • Οι τιμές του πίνακα μπορούν να ενημερωθούν εύκολα, ενώ ποτέ δεν χρειάζεται να παρέμβετε στον τύπο εάν αλλάξουν οι συνθήκες σας.

  • Εάν δεν θέλετε οι άλλοι χρήστες να βλέπουν ή να επεμβαίνουν στον πίνακα αναφοράς, απλώς τοποθετήστε τον σε άλλο φύλλο εργασίας.

Γνωρίζατε ότι...

Τώρα υπάρχει μια συνάρτηση IFS που μπορεί να αντικαταστήσει πολλαπλές ένθετες προτάσεις IF με μία μόνο συνάρτηση. Επομένως, αντί για το αρχικό μας παράδειγμα των βαθμολογιών, που έχει 4 ένθετες συναρτήσεις IF:

  • =IF(D2>89;"A";IF(D2>79;"B";IF(D2>69;"C";IF(D2>59;"D";"F"))))

Μπορεί να γίνει πολύ πιο απλά με μία μόνο συνάρτηση IFS:

  • =IFS(D2>89;"A";D2>79;"B";D2>69;"C";D2>59;"D";TRUE;"F")

Η συνάρτηση IFS είναι εξαιρετική, επειδή δεν χρειάζεται να προβληματίζεστε για όλες αυτές τις προτάσεις IF και παρενθέσεις.

Σημείωση: Αυτή η δυνατότητα είναι διαθέσιμη μόνο αν έχετε συνδρομή στο Office 365. Αν είστε συνδρομητής του Office 365, βεβαιωθείτε ότι έχετε την πιο πρόσφατη έκδοση του Office.

Δοκιμάστε το Office 365 ή την τελευταία έκδοση του Excel

Χρειάζεστε περισσότερη βοήθεια;

Μπορείτε ανά πάσα στιγμή να ρωτήσετε έναν ειδικό στην Κοινότητα τεχνικής υποστήριξης του Excel, να λάβετε υποστήριξη από την κοινότητα Answers ή να προτείνετε μια νέα δυνατότητα ή βελτίωση στο Excel User Voice.

Σχετικά θέματα

Βίντεο: Συναρτήσεις IF για προχωρημένους
Συνάρτηση IFS (Office 365, Excel 2016 και νεότερες εκδόσεις)
Η συνάρτηση COUNTIF υπολογίζει τιμές με βάση ένα μόνο κριτήριο
Η συνάρτηση COUNTIFS υπολογίζει τιμές με βάση πολλαπλά κριτήρια
Η συνάρτηση SUMIF αθροίζει τιμές με βάση ένα μόνο κριτήριο
Η συνάρτηση SUMIFS αθροίζει τιμές με βάση πολλαπλά κριτήρια
Συνάρτηση AND
Συνάρτηση OR
Συνάρτηση VLOOKUP
Επισκόπηση των τύπων στο Excel
Πώς να αποφύγετε τους εσφαλμένους τύπους
Χρήση ελέγχου σφαλμάτων για τον εντοπισμό σφαλμάτων στους τύπους
Λογικές συναρτήσεις
Συναρτήσεις Excel (αλφαβητικά)
Συναρτήσεις Excel (κατά κατηγορία)

Αναπτύξτε τις δεξιότητές σας
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×