Ana Sayfa Excel SCAN FONKSİYONU
Excel

SCAN FONKSİYONU

Paylaş
Paylaş

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?

  1. Belirlediğiniz bir başlangıç değeri ile işe koyulur.
  2. Dizinin ilk öğesiyle birlikte LAMBDA fonksiyonunu kullanarak yeni bir ara değer hesaplar ve bu ara değeri sonuç dizisine ekler.
  3. Sıradaki öğe ile tekrar LAMBDA fonksiyonunu uygular, güncel ara değeri elde eder ve sonuç dizisine ekler.
  4. 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:

  1. 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.
  2. dizi (gerekli):
    Üzerinde işlem yapmak istediğiniz dizi veya hücre aralığı.
  3. 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ünSatış Tutarı
Gün 1100
Gün 2200
Gün 3150
Gün 4250

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:

  1. C1 hücresine “Kümülatif Toplam” başlığını yazın.
  2. 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)
    1. Gün: 0 + 100 = 100
    1. Gün: 100 + 200 = 300
    1. Gün: 300 + 150 = 450
    1. 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 ❤️

Paylaş
Yazar
Murat OSMA - Office Applications Unit Manager | Copilot Pioneer

Microsoft 365 Copilot Eğitim ve danışmanlık hizmetinin yanında Copilot Studio ile çözümler geliştiriyorum.🚀 1999 yılında lise yıllarında Excel'le tanıştım. 17 yıldır kurumsal şirketlere ve bireysel kullanıcılara Temel, Orta-İleri, İleri, Uzman, VBA (Makro), Excel Dashboard ve Excel ile Webden Veri Alma Eğitimleri veriyorum. Ayrıca Excel ve VBA Danışmanlık hizmeti de vermekteyim. VBA Developer olarak, şirketlerin Excel'deki işlerini otomasyona dökecek birçok yazılım geliştirdim. 2013 yılında, zor zamanlarda bir fikir olarak doğan ve 2015 Haziran ayında da web tarafında yayına aldığım Excel Arşivi'ni ( www.excelarsivi.com ) büyük bir heyecanla kurdum.

Bir yorum bırak

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer yazılar
Excel

DGET / VAL FONKSİYONU

VAL (DGET) Fonksiyonu Nedir? VAL fonksiyonu (İngilizce: DGET), bir veri tabanı veya...

Excel

IMAGE / RESİM FONKSİYONU

RESİM Fonksiyonu Nedir? RESİM (İngilizce sürümde IMAGE) fonksiyonu, bir hücrede resim görüntülemek...

Excel

TAMİŞGÜNÜ.ULUSL / NETWORKDAYS.INTL FONKSİYONU

Excel’de TAMİŞGÜNÜ.ULUSL fonksiyonu bir başlangıç tarihi ile bitiş tarihi arasındaki çalışma günlerini...

Excel

TAMİŞGÜNÜ / NETWORKDAYS FONKSİYONU

Excel’de TAMİŞGÜNÜ fonksiyonu bir başlangıç tarihi ile bitiş tarihi arasındaki çalışma günlerini...