MAP Fonksiyonu Nedir ve Nasıl Kullanılır?
Excel’in yeni nesil dinamik dizi işlevlerinden biri olan MAP fonksiyonu, bir veya birden fazla dizi üzerinde işlem yaparak sonuçları tek bir dizi olarak döndürebilmenizi sağlar. Bu fonksiyon, verilen dizinin her bir öğesine belirttiğiniz bir LAMBDA fonksiyonunu uygular. Böylece dizi üzerinde toplu, fonksiyonel işlemler yapmanıza olanak tanır.
Öne Çıkan Noktalar:
- MAP fonksiyonu, bir veya birden fazla dizi alır ve bu dizilerin her bir öğesini LAMBDA fonksiyonu aracılığıyla dönüştürerek yeni bir dizi oluşturur.
- LAMBDA fonksiyonu, girdi dizilerinin karşılık gelen öğelerini parametre olarak alır ve tek bir değer döndürür.
- MAP fonksiyonu dinamik dizi döndürür; dolayısıyla formül tek bir hücreye yazılsa bile sonuçlar birden fazla hücreye otomatik olarak yayılır.
- Bu fonksiyon, Microsoft 365 ve web tabanlı Excel sürümlerinde kullanılabilir. Eski sürümlerde mevcut değildir.
Sözdizimi:
MAP(dizi;lambda_veya_dizi2;...)
Argümanlar:
- dizi1:
İşlem yapılacak bir veya birden fazla dizi ya da hücre aralığı.- Tüm dizilerin boyutu uyumlu olmalıdır, yoksa fonksiyon hata döndürür.
- lambda_veya_dizi2:
Dizinin her bir öğesine uygulanacak işlemi tanımlayan anonim bir fonksiyondur.- parametre1, parametre2, …: Dizi argümanlarına karşılık gelen parametrelerdir. Her bir parametre, aynı konumdaki öğeyi temsil eder.
- hesaplama: Parametreleri kullanarak döndürülecek sonuç formülüdür.
Örnek:
Eğer tek bir dizi kullanıyorsanız LAMBDA fonksiyonunuzun tek bir parametresi olur. İki dizi için iki parametre vb.
Örnek Tablo
Aşağıda bir ürün listesi, adet ve birim fiyat bilgileri yer alsın. Amacımız MAP fonksiyonuyla her ürün için toplam maliyeti hesaplamak:
Ürün | Adet | Birim Fiyat | Açıklama |
---|---|---|---|
Kalem | 10 | 2 | |
Defter | 5 | 3 | |
Silgi | 8 | 1.5 | |
Kitap | 4 | 10 |
Amacımız: Her satırdaki ürüne ait (Adet × Birim Fiyat) hesaplamasını tek seferde yapmak.
Adımlar:
- E1 hücresine “Toplam Maliyet” başlığını yazın.
- E2 hücresine aşağıdaki formülü girin ve Enter’a basın:
=MAP(B2:B5; C2:C5; LAMBDA(adet; fiyat; adet * fiyat))
Açıklama:
- B2:B5: Adet sütunundaki değerler (10, 5, 8, 4).
- C2:C5: Birim fiyat sütunundaki değerler (2, 3, 1.5, 10).
- LAMBDA(adet; fiyat; adet * fiyat):
Her bir üründe, adet ve fiyatın çarpımını yapar.
Formül tek bir hücreye yazılsa da, dinamik dizi özelliği sayesinde sonuçlar E2:E5 aralığına otomatik yayılır.
Sonuç Tablosu:
Ürün | Adet | Birim Fiyat | Toplam Maliyet |
---|---|---|---|
Kalem | 10 | 2 | 20 |
Defter | 5 | 3 | 15 |
Silgi | 8 | 1.5 | 12 |
Kitap | 4 | 10 | 40 |
Sonuç:
- Kalem için: 10 × 2 = 20
- Defter için: 5 × 3 = 15
- Silgi için: 8 × 1.5 = 12
- Kitap için: 4 × 10 = 40
Tüm bu hesaplamalar tek bir formül ile elde edilmiştir.
Başka Bir Örnek:
Aynı mantıkla, metin dizileri üzerinde işlem yapabilirsiniz. Örneğin, iki metin dizisini birleştirmek için:
- A Sütunu metin1 listesi
- B Sütunu metin2 listesi
=MAP(A2:A5; B2:B5; LAMBDA(x; y; x & " - " & y))
Her bir karşılık gelen x ve y öğesini ” – ” ile birleştirerek yeni bir dizi oluşturur.
İpuçları:
- Uyumlu Boyutlar: Tüm dizilerin boyutu aynı olmalı. Eğer farklı boyutlarda diziler kullanırsanız, MAP fonksiyonu #DEĞER! hatası verebilir.
- Birden Fazla Hesaplama: LAMBDA ifadesi içinde karmaşık hesaplamalar yapabilirsiniz. Örneğin, önce vergiyi ekleyip sonra toplama yapmak gibi.
- Diğer Dinamik Fonksiyonlarla Kullanım: MAP fonksiyonunu, BYROW, BYCOL, REDUCE gibi diğer dinamik dizi fonksiyonlarıyla birleştirmek, daha da karmaşık veri işlemleri yapmanıza olanak tanır.
Özet:
MAP fonksiyonu, bir veya birden fazla dizideki her öğeye LAMBDA fonksiyonu uygulayarak yeni bir dizi oluşturmaya yarar. Bu yaklaşım, veri işleme, toplu hesaplama, metin dönüştürme gibi operasyonları tek adımda gerçekleştirerek Excel’deki veri analizinizi daha etkin hale getirir.
🟢Eğitim talepleri için bizimle buradan iletişime geçebilirsiniz. 👉 https://forms.office.com/r/0gMDksLjLg
🟢News from Microsoft 365 bültenimize abone olabilir. 👉 https://www.linkedin.com/newsletters/7076133011028611072/
🟢Microsoft 365 Copilot Community grubumuza katılabilirsiniz. 👉 https://www.linkedin.com/groups/9559408/
Sevgiler ❤️
Bir yorum bırak