MAP στο Excel: Η πιο «έξυπνη» συνάρτηση που δεν έχεις χρησιμοποιήσει ακόμα| myExcel.gr

MAP στο Excel: Η πιο «έξυπνη» συνάρτηση που δεν έχεις χρησιμοποιήσει ακόμα

MAP στο Excel: Η πιο «έξυπνη» συνάρτηση που δεν έχεις χρησιμοποιήσει ακόμα | Εφαρμογή Excel από το myExcel.gr

Έχεις μια στήλη με τιμές και θες να κάνεις την ίδια πράξη σε καθεμία, χωρίς να γράφεις 100 τύπους, χωρίς να αντιγράφεις κελιά, χωρίς να πνίγεσαι σε $ και ; ; Η MAP ήρθε για να σε γλιτώσει από όλα αυτά.

 

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

 

Αν έχεις το Microsoft 365 ή το Excel 2021+, έχεις ήδη στα χέρια σου ένα από τα πιο δυνατά εργαλεία που βγήκαν ποτέ: τη MAP.

 

🔍 Τι είναι η MAP, με απλά λόγια

Η MAP παίρνει ένα ή περισσότερα arrays, για παράδειγμα στήλες ή περιοχές, και εφαρμόζει πάνω τους μια LAMBDA συνάρτηση, δηλαδή ένα κομμάτι λογικής που ορίζεις εσύ. Μετατρέπει κάθε στοιχείο του πίνακα σε κάτι νέο: μια πράξη, ένα κείμενο, ένα αποτέλεσμα. Δεν χρειάζεται να γράψεις 10 φορές τον ίδιο τύπο· η MAP το κάνει αυτόματα.

 

📘 Σύνταξη

=MAP(array1; [array2; …]; LAMBDA(param1; [param2; …]; έκφραση))

 

  • array1 → το πρώτο σύνολο δεδομένων, στήλη ή γραμμή
  • array2 → προαιρετικά δεύτερο σύνολο, αν χρειάζεσαι για παράδειγμα τιμή και ποσοστό
  • LAMBDA → η λογική που εφαρμόζεται σε κάθε στοιχείο

 

💡 Παράδειγμα 1: Αύξηση 10 % σε όλες τις τιμές

Έστω ότι στη στήλη A2:A10 έχεις τιμές προϊόντων σε €. Θες να υπολογίσεις τη νέα τιμή με αύξηση 10 %.

 

=MAP(A2:A10; LAMBDA(x; x * 1,10))

 

Το αποτέλεσμα ξεχειλίζει (spill) αυτόματα σε γειτονικά κελιά, μια νέα λίστα τιμών με το +10 %.

 

💶 Παράδειγμα 2: Τιμή, Έκπτωση, Τελικό ποσό

Στήλη B: Τιμή. Στήλη C: Έκπτωση σε %.

 

=MAP(B2:B10; C2:C10; LAMBDA(price; discount; price * (1 - discount / 100)))

 

Η LAMBDA εδώ παίρνει δύο τιμές ανά γραμμή, price και discount, και επιστρέφει τη νέα τιμή. Μπορείς να αλλάξεις τη λογική μέσα στη LAMBDA όπως θες, για παράδειγμα να στρογγυλοποιεί:

 

=MAP(B2:B10; C2:C10; LAMBDA(p; d; ROUND(p * (1 - d/100); 2)))

 

🧩 Παράδειγμα 3: Προσθήκη κειμένου σε κάθε στοιχείο

Θες να εμφανίζεις δίπλα από κάθε όνομα την ένδειξη “– Ολοκληρώθηκε”.

 

=MAP(A2:A10; LAMBDA(x; x & " – Ολοκληρώθηκε"))

 

🧠 Παράδειγμα 4: Σύνθετη λογική με IF

Θες να δώσεις μπόνους 5 € αν η βαθμολογία υπερβαίνει 40 και αλλιώς 0 €.

 

=MAP(B2:B10; LAMBDA(score; IF(score>40; score+5; score)))

 

🔗 Παράδειγμα 5: MAP μαζί με άλλες συναρτήσεις

Συνδύασε MAP με TEXTJOIN και UPPER για δημιουργία περιγραφών.

 

=TEXTJOIN(", "; TRUE; MAP(A2:A10; LAMBDA(x; UPPER(x))))

 

⚠️ Τι να προσέξεις

  • Διαστάσεις: Όλοι οι πίνακες που περνάς στη MAP πρέπει να έχουν το ίδιο μήκος, για παράδειγμα 10 γραμμές.
  • Σφάλματα τύπων: Αν μια πράξη δεν βγάζει νόημα, για παράδειγμα κείμενο επί αριθμό, θα πάρεις #VALUE!.
  • Spill conflicts: Η MAP επιστρέφει πίνακα. Αν τα κελιά δεξιά ή κάτω έχουν ήδη τιμές, θα εμφανιστεί προειδοποίηση.
  • Όρια ανάγνωσης: Αν η LAMBDA γίνει πολύ περίπλοκη, δυσκολεύει η κατανόηση. Χρησιμοποίησε named ranges και σχόλια για καθαρότητα.

 

🛠️ Πρακτικά tips

  • Χρησιμοποίησε named ranges, για παράδειγμα Τιμές και Εκπτώσεις, ώστε ο τύπος να διαβάζεται σαν πρόταση.
  • Δοκίμασε σε μικρό εύρος πριν το εφαρμόσεις σε 1.000 γραμμές.
  • Αν δεν είσαι σίγουρος για τη λογική, βάλε IFERROR μέσα στη LAMBDA για προστασία.
  • Για πιο προχωρημένα σενάρια, δες και BYROW, BYCOL, REDUCE, SCAN.

 

🇬🇷 Παράδειγμα από ελληνική επιχείρηση

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

 

Προϊόν Τιμή € Έκπτωση %
Ελιές Καλαμών4,5010
Μέλι Πεύκου7,805
Φέτα Π.Ο.Π.9,208

 

Τύπος:

 

=MAP(B2:B4; C2:C4; LAMBDA(p; d; p * (1 - d/100)))

 

Προϊόν Νέα Τιμή €
Ελιές Καλαμών4,05
Μέλι Πεύκου7,41
Φέτα Π.Ο.Π.8,46

 

🧭 Πότε να τη χρησιμοποιείς και πότε όχι

  • Η MAP λάμπει όταν θέλεις λογική μετασχηματισμού σε πίνακα και δουλεύεις με πολλές στήλες που συνδέονται.
  • Αν κάτι λύνεται απλά, για παράδειγμα A2:A10*1,10, άφησέ το έτσι. Μην προσθέτεις πολυπλοκότητα χωρίς λόγο.

 

🔍 MAP vs BYROW / BYCOL / REDUCE

  • MAP → στοιχείο προς στοιχείο, σε γραμμές ή στήλες.
  • BYROW / BYCOL → επεξεργασία ολόκληρης γραμμής ή στήλης κάθε φορά.
  • REDUCE / SCAN → αθροίζουν ή ακολουθούν ιστορία τιμών σε ροή.

 

🧭 Συνοψίζοντας

Η MAP είναι μικρή, μα αλλάζει τον τρόπο που σκέφτεσαι το Excel. Από στατικό φύλλο τύπων σε δυναμικό, σκεπτόμενο πίνακα. Μαζί με τις LAMBDA, BYROW και REDUCE, φτιάχνουν το οικοσύστημα no-code λογικής του Excel 365.