Hata Değerleri İçeren Bir Sütunda Toplama, Saydırma, Max, Min gibi İşlemler Yapmak


Bu konuda hata değerleri, gizli hücreler içeren sütunlarda Toplama, Saydırma, Max, Min gibi işlemler yapmamızı sağlayan fonksiyon, Aggregate/Toplama fonksiyonu üzerinde duracağız. Altoplam ile benzer özelliklere sahip bu fonksiyon alttoplamdan farklı olarak hata değeri içeren hücre aralıklarıyla da işlem yapmamızı sağlar.

Bu fonksiyonun iki tane kullanım biçimi vardır. Referans Biçimi ve Dizi biçimi. Şimdilik bu kısma kafanızı yormayın yaptırmak istediğiniz işlemin alacağı girdilere göre zaten hangi biçimi kullanmanız gerektiğini biliyor olacaksınız. Aşağıdaki örneklerle bu kısmı netleştireceğiz.

Referans bicimi: AGGREGATE (function_num; options; ref1; ref2 ; …)

TOPLAMA(işlev_sayısı, seçenekler, başv1, [başv2],..)

Dizi bicimi: AGGREGATE (function_num; options; array; k)

 TOPLAMA(işlev_sayısı, seçenekler, dizi, [k])

Burada asıl önemli girdiler:

Function_num: Yaptırmak istediğiniz işlemin kodu.

Options: işlem yaptırırken neleri gözardı edelim. (Hata degerleri, gizli hucreler gibi)

Her iki kısım için kod numarası girmemiz gerekecek, bu kod numaraları da formülü yazarken önümüze listeleniyor olacak. Oylseyse bir örnek üzerinden fonksiyonun kullanımına bakalım.

Örnek 1: Aşağıdaki hücre aralığındaki değerlerin toplamı nedir?

=Aggregate(9,6,A1:A9)

aggregate

1. Öncelikle fonksiyonumuzu yazdık. Formüle ilk girmemiz gereken girdi fonksiyon kodu olacak yani hangi işlemi yaptırmak istediğimiz.

aggregate2Devamı »

Reklamlar

Negatif Değer Yerine 0 (Sıfır)


If/Eğer fonksiyonları yerine Max/Mak ve Min fonksiyonları kullanarak daha kısa ve güzel bir formülle çözebileceğimiz birkaç örnek yapalım.

1. Aşağıda 2015 ve 2016 yılı kaç adet ürün sattığımı gösteren bir tablo var ve adet satışları olan bir tablom var, bir yan sütunda iki yıl arasındaki adet farkını hesaplamak istiyorum ancak fark 0 sıfırdan küçük ise (yani adet 2016 yılında azalmışsa) negatif değer yerine artışa 0 sıfır yazsın.

ifyerinemax
Eğer adet farkı sıfırdan küçük ise 0 sıfır getir, değil ise farkı getir.
ifyerinemax2
Adet farkı ve 0 sıfır değerinden büyük olanı getir.

Devamı »

İç içe Eğer (Nested if)


IF/EGER Fonksiyonu ve genel kullanımı IF/EGER fonksiyonuna giris konusunda görmüştük. Ancak birden fazla koşul aradığımız durumda tek IF/EGER fonksiyonu yeterli gelmeyecektir bu tip durumlarda nestedif/iç içe eğer yazarak çözüme ulaşmaya çalışacağız. nestedif/iç içe eğer  adı üzerinde birden fazla eğer fonksiyonunun ayni formül içinde beraber kullanılmasıdır. Basitten zora doğru giden örnekler ve önemli noktalarla konuyu anlamaya çalışalım.

Eğer(aranan koşul;koşul sağlanırsa değer; Eğer(diğer aranan koşul;koşul sağlanırsa değer; Eğer(diğer aranan koşul;koşul sağlanırsa değer; Eğer…; hiç bir koşul sağlanmazsa değer)))

1.Aşağıdaki örnekte öğrencilerin sınav puanları olan bir tablo var. Eğer puan kısmi bos ise öğrenci sınava girmedi demektir ve sonuc kismina “girmedi”, sınav puanı 70’in üzerindeyse “geçti”, altındaysa ise “kaldı” yazdıracağız.

nestedif_iciceeger2

Formul:

=IF(B2=””,”Girmedi”,IF(B2>=70,”Geçti”,”Kaldı”))

Not: Formüller her zaman soldan sağa doğru okunur. Yani bu formül için öncelikle bos hücre var mı diye bakar ve bos ise “girmedi” sonucunu verir, bos değil ise bir yan koşula geçer ve 70’den büyük mu diye bakar büyükse “geçti” sonucunu verir, 70’den büyük değil ise diğer tüm durumlarda “kaldı” sonucunu yazdırır.

nestedif_iciceeger

Daha iyi anlaşılması için formülün nasıl ilerlediğini bir akis şemasında gösterelim.

nestedifflow

Devamı »

Etarihli (Datedif) Fonksiyonu


iki tarih arasındaki yıl, ay ya da gün sayısını hesaplama

DATEDIF fonksiyonu verilen iki tarih arasındaki yıl, ay ya da gün sayısını hesaplamamızı ve istediğimiz formatta göstermemizi sağlar.

ETARİHLİ(Başlangıç_tarihi, Bitiş_tarihi, Zaman_Birimi)

DATEDIF(Start_Date,End_date,Unit)

Bu fonksiyonun diğer fonksiyonlardan farkı Excel tarafından dökümente edilmemiştir, bunun anlamı formülü hücreye girdiğimizde fonksiyon listesinde ismi yoktur ve girdiler için size yön göstermez.

Aşağıdaki resimde gördüğümüz gibi formülü yazmaya başlamamıza rağmen “Date” ile başlayan diğer formüller listelendi ancak DATEDIF Fonksiyonu listede gelmedi.

datedif2

Formülü yazmayı bitirdiğimizde fonksiyon geldi ancak içeriye girmemiz gereken girdilerle ilgili herhangi bir bilgi de mevcut değil.

datedif3

Başlangıç tarihi/Start_date

Bitiş tarihi/End_date:

Zaman_Birimi /Unit: Sonucu görmek istediğimiz zaman birimi

Zaman_Birimi /Unit değerleri:

y: İki tarih arasındaki yıl sayısı

m: İki tarih arasındaki ay sayısı

d: İki tarih arasındaki gün sayısı

ym: Yılları hesaba katmadan iki tarih arasındaki ay sayısını

yd: Yılları hesaba katmadan iki tarih arasındaki gün sayısını

md: Yılları ve ayları hesaba katmadan iki tarih arasındaki gün sayısını hesaplar.

Not : Zaman_Birimi /Unit değerleri formül içerisine çift tırnak içinde girilmelidir.

Şimdi bir örnekle konumuza devam edelim:

datedif1

datedif4

İki tarih arasındaki yıl sayısı:

=DATEDIF($C$3,$C$4,”y”) birimi sonucun yaninda belirtmek icin =DATEDIF($C$3,$C$4,”y”)&” yıl”

İki tarih arasındaki yıl, ay ve gün sayısı:

=DATEDIF($C$3,$C$4,”y”)&” Yıl “&DATEDIF($C$3,$C$4,”ym”)&” Ay “&DATEDIF($C$3,$C$4,”md”)&” Gün”

Excel dosyasını indirmek için tıklayınız:

datedif

İş Günü Sayısı Hesaplama2 NetWorkdays.intl_ve WorkDay.intl Fonksiyonlari


NETWORKDAYS/TAMİŞGÜNÜ ve WORKDAY/İŞGÜNÜ fonksiyonlarini ve kullanimlarini Tarih ve Saat Fonksiyonlarına Giriş konusunda gormustuk.

Hatirlamak istersek  NETWORKDAYS/TAMİŞGÜNÜ iki tarih arasindaki toplam is gunu sayisini, WORKDAY/İŞGÜNÜ ise verilen tarihten X iş günü sonrasınin hangi tarihe denk geldigini hesaplar.

Bu iki fonksiyonun ortak ozelligi Haftasonunu Cumartesi/Pazar gunleri olarak kabul etmeleri ve otomatik olarak is gunu hesaplamasindan cikarmalaridir.

Eger haftasonunu Cumartesi/Pazar disinda farkli gun ya da gunler olarak kendimiz belirlemek ve yukaridaki hesaplamalari yapmak istersek iste o zaman kullanacagimiz fonksiyonlar NETWORKDAYS.INTL/TAMİŞGÜNÜ.ULUSL ve WORKDAY.INTL/İŞGÜNÜ.ULUSL olacak.

NETWORKDAYS.INTL(start_date,end_date,[weekend],[holidays])

TAMİŞGÜNÜ.ULUSL(başlangıç_tarihi, bitiş_tarihi, [hafta_sonu], [tatiller])

start date : Baslangic tarihi

end_date: Bitis tarihi

[Weekend]: Haftasonu. Bu kisma geldigimizde acilan listeden hangi gun ya da gunlerin haftasonu olmasini istedigimizi secebiliriz. Doldurulmasi opsiyoneldir. Eger herhangi bir deger girmez isek default olarak cumartesi ve pazar gunlerini haftasonu olarak kabul eder ve hesaplamadan cikarir.

weekend

[Holidays] : Tatiller. Doldurulmasi opsiyoneldir, belirttigimiz haftasonu haricindeki farkli tatil gunlerini hesaplamadan cikarir.

WORKDAY.INTL(start_date,days,[weekend],[holidays])

İŞGÜNÜ.ULUSL(başlangıç_tarihi, gün_sayısı, [hafta_sonu], [tatiller])Devamı »