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

Ισχύει για
Excel για Microsoft 365 Excel για Microsoft 365 για Mac Excel 2024 Excel 2024 για Mac Excel 2021 Excel 2021 για Mac Excel 2019 Excel 2016 Excel Web App Excel για Windows Phone 10

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

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

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

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

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

Τεχνικές λεπτομέρειες

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

Σύνταξη

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

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

  • =IF(A2>B2;"Εκτός προϋπολογισμού";"OK")
  • =IF(A2=B2;B4-A4;"")
Όνομα ορίσματος Περιγραφή
λογικός_έλεγχος
(απαιτείται)
Η συνθήκη που θέλετε να ελέγξετε.
τιμή_αν_true
(απαιτείται)
Η τιμή που θέλετε να επιστραφεί εάν το αποτέλεσμα logical_test είναι TRUE.
τιμή_αν_false
(προαιρετικό)
Η τιμή που θέλετε να επιστραφεί εάν το αποτέλεσμα της logical_test είναι 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 και παρενθέσεις.

Σημείωση

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

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

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