MAP ve REDUCE ile Döngü Oluşturma
Bir ARRAY üzerinde LAMBDA uygulayarak değerleri dönüştürün veya biriktirin.
MAP ve REDUCE ile Döngü Oluşturma, CoddyKit'te ücretsiz bir Excel Formulas Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Excel Formulas Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Excel Formulas Academy kursu toplamda 4 dersten oluşur.
Kod Yazmadan Döngü Oluşturma
Bazen bir aralıktaki her değere aynı hesaplamayı uygulamak veya bütün bir aralığı tek bir sayıya indirgemek istersiniz. Programlamada buna döngü denir. Modern elektronik tablolarda MAP ve REDUCE bunu LAMBDA kullanarak sizin için yapar.
- MAP, bir dizinin her öğesini yeni bir öğeye dönüştürür
- REDUCE, tüm öğeleri tek bir birikimli sonuçta birleştirir
Her ikisi de her değerle ne yapılacağını açıklayan bir LAMBDA alır. Microsoft 365 ve Google Sheets'te kullanılabilirler.
MAP Nasıl Çalışır
MAP bir dizi boyunca ilerler ve her öğeye bir LAMBDA uygulayarak aynı boyutta yeni bir dizi üretir. LAMBDA'nın parametresi her seferinde bir öğeyi alır.
Şablon şöyledir: MAP'e diziyi, ardından parametresi her değeri temsil eden bir LAMBDA'yı verin. MAP, dönüştürülmüş sonuçları hücrelere otomatik olarak taşır.
=MAP(array, LAMBDA(value, calculation))İlk MAP Örneği
A2:A6 aralığında beş fiyat bulunduğunu ve her birini yüzde 10 artırmak istediğinizi varsayalım. MAP, artışı tüm değerlere tek seferde uygular.
LAMBDA parametresi p, sırayla her bir fiyatı temsil eder. MAP, her giriş hücresi için bir tane olmak üzere beş sonuç döndürür ve bunları sütun boyunca taşır.
Doldurma tutamacını sürüklemek veya kopyalamak gerekmez. Tüm aralığı tek bir formül yönetir.
=MAP(A2:A6, LAMBDA(p, p*1.1))İki Diziyle MAP
MAP iki dizi boyunca paralel olarak ilerleyebilir. Bu durumda LAMBDA, her diziden birer tane olmak üzere konumlarına göre eşleşen iki parametre alır.
Burada satır toplamlarını elde etmek için A2:A6 aralığındaki miktarları B2:B6 aralığındaki fiyatlarla çarpıyoruz. q parametresi her miktarla, pr ise her fiyatla eşleşir.
Her iki dizi de aynı boyutta olmalıdır; aksi halde hata alırsınız.
=MAP(A2:A6, B2:B6, LAMBDA(q, pr, q*pr))REDUCE Nasıl Çalışır
REDUCE bir diziyi tek bir değere indirger. Her öğeyle güncellenen bir biriktirici taşır.
Üç şey alır: biriktirici için başlangıç değeri, dizi ve acc (devam eden toplam) ile value (geçerli öğe) adlı iki parametreli bir LAMBDA. LAMBDA her adımda yeni biriktiriciyi döndürür.
=REDUCE(start, array, LAMBDA(acc, value, new_accumulator))İlk REDUCE Örneği
Bir aralığı REDUCE ile toplayalım (evet, SUM da bunu yapar; ancak bu örnek işleyişi açıkça gösterir).
Biriktiriciyi 0'dan başlatıyoruz. A2:A6 aralığındaki her değer için LAMBDA bu değeri acc'ye ekler. Son öğeden sonra acc toplamı içerir.
Değerler 10, 20 ve 30 olsaydı biriktirici 0, 10, 30, 60 adımlarıyla ilerler ve 60'ta sona ererdi.
=REDUCE(0, A2:A6, LAMBDA(acc, v, acc + v))Devam Eden Çarpım İçin REDUCE
İşlemi değiştirin, REDUCE yeni bir şey yapsın. Tüm değerleri birbiriyle çarpmak için biriktiriciyi 1'den başlatın ve her adımda çarpın.
Bu, bileşik büyüme katsayıları gibi durumlarda yararlı olan bir çarpım hesaplar. Başlangıç değeri önemlidir: toplamlar için 0, çarpımlar için 1 kullanın; çünkü bunlar etkisiz başlangıç değerleridir.
=REDUCE(1, A2:A6, LAMBDA(acc, v, acc * v))MAP ve REDUCE'ü Birleştirme
Tek bir formülde MAP ile dönüştürüp REDUCE ile özetleyebilirsiniz. Yaygın bir görev, bir aralıktaki değerlerin karelerini toplamaktır.
Burada MAP her değerin karesini alır, ardından REDUCE bunları 0'dan başlayarak toplar. MAP'in sonucu, REDUCE'ün işlediği dizi olur.
=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))Google Sheets'te MAP ve REDUCE
Her iki işlev de Google Sheets'te aynı söz dizimiyle bulunur. MAP her öğeye bir LAMBDA uygular; REDUCE ise bir başlangıç değeri, bir dizi ve iki parametreli bir LAMBDA ile biriktirme yapar.
Sheets ayrıca REDUCE'e benzeyen ancak yalnızca son biriktiriciyi değil, tüm ara biriktiricileri döndüren SCAN gibi yardımcılar da sunar. Excel'de de SCAN bulunur.
=SCAN(0, A2:A6, LAMBDA(acc, v, acc + v))İpuçları ve Dikkat Edilecekler
Hatırlamanız gereken birkaç nokta:
- MAP'te LAMBDA her öğe için bir değer döndürmelidir
- REDUCE'te LAMBDA her zaman yeni biriktiriciyi döndürmelidir; bunu asla unutmayın
- Doğru başlangıç değerini seçin: toplamlar için 0, çarpımlar için 1, metin birleştirmeleri için boş dize
- Birlikte aktarılan diziler aynı boyutları paylaşmalıdır
Emin olmadığınızda önce LAMBDA'nızı tek bir değer üzerinde satır içinde sınayın.
Her Birini Ne Zaman Kullanmalı
Her girdi için bir sonuç istediğinizde (örneğin her değere artış veya biçimlendirme uygularken) MAP'i tercih edin.
Birçok değeri tek bir değerde birleştirmek istediğinizde (örneğin özel bir toplam, birleştirme veya kendi mantığınızla bulunan bir maksimum değer için) REDUCE'ü tercih edin.
Birlikte, eski elektronik tabloların tek bir formülde yapamadığı döngüleri ifade etmenizi sağlarlar.
Kısa Kontrol
REDUCE konusundaki anlayışınızı sınayın.
Özet: MAP ve REDUCE ile Döngü Oluşturma
LAMBDA destekli işlevlerle diziler üzerinde döngü oluşturmayı öğrendiniz.
- MAP, her öğeyi yeni bir öğeye dönüştürerek bir dizi döndürür
- REDUCE, biriktirici kullanarak bir diziyi tek bir değere indirger
- Makul bir başlangıç değeri seçin: toplamlar için 0, çarpımlar için 1
- MAP birden çok diziyi eşleştirebilir; güçlü tek satırlık özetler için MAP ve REDUCE'ü birleştirin
- SCAN her ara adımı gösterir
Sırada, temiz ve yeniden kullanılabilir formüller elde etmek için LAMBDA'larınızı adlandırılmış işlevler olarak kaydetmeyi öğreneceksiniz.
=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))Sıkça Sorulan Sorular
“MAP ve REDUCE ile Döngü Oluşturma” dersi ücretsiz mi?
Evet — “MAP ve REDUCE ile Döngü Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Excel Formulas Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Excel Formulas Academy kursu toplamda 4 dersten oluşur.
“MAP ve REDUCE ile Döngü Oluşturma” dersinde ne öğreneceğim?
Bir ARRAY üzerinde LAMBDA uygulayarak değerleri dönüştürün veya biriktirin. Excel Formulas Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Excel Formulas Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Excel Formulas Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“MAP ve REDUCE ile Döngü Oluşturma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Excel Formulas Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Excel Formulas Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- LET ile Adımları Adlandırma
- LAMBDA ile Özel İşlevler Tanımlama
- MAP ve REDUCE ile Döngü Oluşturma
- Adlandırılmış LAMBDA'larla Daha Temiz Formüller