SCAN Fonksiyonu Nedir ve Nasıl Kullanılır?
SCAN fonksiyonu, Excel’in dinamik dizi fonksiyonlarından biridir ve bir dizi üzerinde tanımladığınız bir işlemi sırayla uygulayarak her adımın ara sonuçlarını döndüren bir dizi oluşturur. REDUCE fonksiyonuna benzer, ancak REDUCE sadece nihai sonucu verirken, SCAN her aşamadaki akümülatör (ara değer) durumunu bir dizi olarak geri verir.
Nasıl Çalışır?
- Belirlediğiniz bir başlangıç değeri ile işe koyulur.
- Dizinin ilk öğesiyle birlikte LAMBDA fonksiyonunu kullanarak yeni bir ara değer hesaplar ve bu ara değeri sonuç dizisine ekler.
- Sıradaki öğe ile tekrar LAMBDA fonksiyonunu uygular, güncel ara değeri elde eder ve sonuç dizisine ekler.
- Bu süreci dizinin sonuna kadar devam ettirir.
Sonuçta, başlangıç değeri dahil olmak üzere her adımdaki ara değerlerden oluşan bir dizi elde edersiniz.
Kullanım Örnekleri:
- Bir dizinin kümülatif toplamını oluşturma
- Kümülatif çarpım, kümülatif ortalama veya diğer metrikler
- Belirli bir koşula göre her adımda güncellenen dinamik değer dizileri
Sözdizimi
SCAN(ilk_değer; dizi; işlev)
Argümanlar:
- ilk_değer (gerekli):
Hesaplamaya başlamak için kullanılan ilk değer. Kümülatif işlem yaparken genellikle 0 (toplam) veya 1 (çarpım) gibi nötr değerler kullanılır. - dizi (gerekli):
Üzerinde işlem yapmak istediğiniz dizi veya hücre aralığı. - işlev (akıcı; değer; hesaplama) (gerekli):
- akıcı (accumulator): Her adımda biriken ara değeri temsil eder.
- değer (value): Dizideki mevcut öğeyi temsil eder.
- hesaplama: Bu iki parametre kullanılarak üretilen yeni ara değer. Her adımda bu hesaplama çalışır ve yeni ara değer sonucu diziye eklenir.
Not: LAMBDA fonksiyonunda en az iki parametre kullanılır: biri önceki adımdan gelen akıcı (accumulator) değer, diğeri ise mevcut öğedir.
Örnek Tablo ve Kullanım
Aşağıda bir satış listesinin günlük tutarları yer alsın. Amacımız bu günlük satışları kullanarak kümülatif toplam dizi elde etmek:
Gün | Satış Tutarı |
---|---|
Gün 1 | 100 |
Gün 2 | 200 |
Gün 3 | 150 |
Gün 4 | 250 |
Amacımız: Her gün için kümülatif satış toplamını hesaplayarak bir dizi elde etmek. Yani:
- Gün 1: 100
- Gün 2: 100 + 200 = 300
- Gün 3: 300 + 150 = 450
- Gün 4: 450 + 250 = 700
Bunu SCAN fonksiyonu ile tek bir formülle yapacağız.
Adımlar:
- C1 hücresine “Kümülatif Toplam” başlığını yazın.
- C2 hücresine aşağıdaki formülü girin ve Enter’a basın:
=SCAN(0; B2:B5; LAMBDA(akıcı; değer; akıcı + değer))
Açıklama:
- 0: Başlangıç değeri olarak 0 kullandık çünkü toplama yapacağız.
- B2:B5: Günlük satış tutarlarını içeren aralık.
- LAMBDA(akıcı; değer; akıcı + değer): Her adımda akıc’a güncel değer eklenerek yeni akıcı değeri oluşturulur. Bu değer de sonuç dizisine eklenir.
Bu formül, tek bir hücrede yazılmasına rağmen dinamik dizi olarak sonuçları C2:C6 aralığında gösterecektir. Çünkü SCAN fonksiyonu başlangıç değerini de ilk elemana dahil ederek dizi oluşturur.
Sonuç:
Sonuç dizisi 5 eleman içerecek (başlangıç değeri + 4 gün):
- Başlangıç (akıc=0)
- Gün: 0 + 100 = 100
- Gün: 100 + 200 = 300
- Gün: 300 + 150 = 450
- Gün: 450 + 250 = 700
C2’den başlayarak:
C2: 0 (başlangıç değeri)
C3: 100
C4: 300
C5: 450
C6: 700
Siz başlangıç değerinin sonuç dizisinde görünmesini istemiyorsanız, dizi üzerinde başka bir işlem ya da INDEX / İNDİS fonksiyonu ile ilk öğeyi atlayabilirsiniz. Örneğin, =KAYDIR(…), =DÜŞEYARA gibi ek formüllerle işleyebilirsiniz.
Başka Bir Örnek:
Eğer bir dizinin her değerini çarparak kümülatif çarpım oluşturmak isterseniz:
=SCAN(1; B2:B5; LAMBDA(akıcı; değer; akıcı * değer))
Bu formül ilk olarak 1 ile başlar ve her değer geldiğinde akıc ile çarpar. Sonuçta kümülatif çarpım dizi olarak döner.
İpuçları:
- Farklı Hesaplamalar: Toplam veya çarpım dışında koşullu ifadeler, ortalama, minimum/maksimum değer takip etme gibi işlemler için LAMBDA fonksiyonunu özelleştirebilirsiniz.
- Kullanışlılık: SCAN fonksiyonu her adımın sonucunu dizi olarak döndürdüğünden, kümülatif verilere ihtiyaç duyduğunuz durumlarda çok kullanışlıdır.
Özet:
SCAN fonksiyonu, bir dizi üzerinde tanımladığınız LAMBDA işlemini her öğeye uygulayarak başlangıç değerinden son öğeye kadar geçen tüm ara değerleri bir dizi olarak döndürür. Bu sayede kümülatif hesaplamalar, adım adım oluşan veri dizileri elde etmek çok daha kolay ve yalın hale gelir.
🟢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