22 Nisan 2014 Salı
Visual Basic - Select Case Kullanımı
Bu fonksiyon if-elseif fonksiyonunun bir alternatifi olarak kullanılır. if fonksiyonu ile aynı işlevi görür. Ancak yazımı ve kurgusu if e göre biraz daha basit olduğu söylenebilir.
örnek olarak öğrencilerin aldıkları puana göre durumlarını iyi orta kötü olarak sınıflandıralım:
Function durum(puan As Double) As String
If puan >= 80 Then
durum = "iyi"
ElseIf puan >= 40 Then
durum = "orta"
Else: durum = "kötü"
End If
End Function
Şimdi aynı kodu case ile yazalım,
Function durum(puan As Double) As String
Select Case puan
Case Is >= 80
durum = "iyi"
Case Is >= 40
durum = "orta"
Case Else
durum = "kötü"
End Select
End Function
Case fonksiyonunda kontrol edeceğimiz değişken select case in yanına yazılır, caseler ile değişkenin değerine göre sonucu döndürür. burada "case else" aynı "else" gibi işlev görür. yani yukarıdaki değerler dışında bir değer gelirse "kötü" yazılsın gibi.
21 Nisan 2014 Pazartesi
Veri doğrulama (Data Validation)
Veri doğrulama
Bir hücre ya da hücre aralığına:
1.
Belirli sayı değerleri arasında veri girilmesi
isteniyorsa, Örneğin kişi yaşları girilecek hücreye yalnızca 1 ile 100
arasındaki rakamlar girilebilsin,
2.
Girilecek değer yalnızca tarih biçiminde olsun,
3. Belirli bir metin uzunluğuna sahip değerler
girilsin, Örneğin tc kimlik numarası istediğimiz hücreye girilen değerin
uzunluğu 11 karakterden farklı olmasın.
4.
Ya da kullanıcı seçimli olsun, ancak seçimleri
biz verelim,
Bu tip durumlarda veri doğrulama fonksiyonundan yararlanacağız,
Öncelikle excel menü çubuklarından veri kısmını seçelim ve
burada veri doğrulama eklentisine tıklayalım.
21 Mart 2014 Cuma
Düşeyara (vlookup) Fonksiyonu
Excelde en çok kullanılan fonksiyonlardan bir tanesi düşeyara (v-lookup) fonksiyonudur. Düşeyara bize belirli bir veri datası içerisinde istediğimiz verilere karşılık gelen değerleri bulmamızı sağlar.
Aşağıdaki tabloda satışçıların müşteri adet, satış ve kar bilgilerinin olduğu bir tablo var, burada belirli üç ismin satış bilgilerini ana tablodan faydalanarak bulmamız isteniyor olsun,
A
|
B
|
C
|
D
|
E
|
F
|
|
1
|
||||||
2
|
satışçı
|
müşteri sayısı
|
satışlar
|
kar
|
||
3
|
ali
|
9
|
2.257
|
764
|
||
4
|
selin
|
9
|
2466
|
695
|
||
5
|
metin
|
13
|
2.251
|
620
|
||
6
|
ece
|
12
|
1.650
|
515
|
||
7
|
ahmet
|
9
|
2.133
|
555
|
||
8
|
ceyhun
|
13
|
2.461
|
727
|
||
9
|
ceren
|
12
|
1.466
|
779
|
||
10
|
sinan
|
14
|
2.214
|
575
|
||
11
|
gökhan
|
14
|
1.987
|
797
|
||
12
|
can
|
9
|
2.018
|
576
|
||
13
|
eda
|
7
|
2.136
|
684
|
||
14
|
kerem
|
13
|
1.720
|
747
|
||
15
|
nihat
|
9
|
2.423
|
594
|
||
16
|
||||||
17
|
satışçı
|
müşteri sayısı
|
satışlar
|
kar
|
||
18
|
ceyhun
|
?
|
?
|
?
|
||
19
|
eda
|
?
|
?
|
?
|
||
20
|
kerem
|
?
|
?
|
?
|
||
21
|
Fonksiyon çubuğumuzdan "düşeyara" fonksiyonunu seçelim,
=DÜŞEYARA(aranan değer;tablo dizisi;sütun indis sayısı;aralık bak)
yani =>DÜŞEYARA(neyi arıyorum; nerede arıyorum;bulduğum zaman değerden sonra kaçıncı sütundaki bilgi isteniyor;tam eşleşme istiyorsak "0" gireceğiz)
A
|
B
|
C
|
D
|
|
1
|
||||
2
|
satışçı
|
müşteri sayısı
|
satışlar
|
kar
|
3
|
ali
|
9
|
2257
|
764
|
4
|
selin
|
9
|
2466
|
695
|
5
|
metin
|
13
|
2251
|
620
|
6
|
ece
|
12
|
1650
|
515
|
7
|
ahmet
|
9
|
2133
|
555
|
8
|
ceyhun
|
13
|
2461
|
727
|
9
|
ceren
|
12
|
1466
|
779
|
10
|
sinan
|
14
|
2214
|
575
|
11
|
gökhan
|
14
|
1987
|
797
|
12
|
can
|
9
|
2018
|
576
|
13
|
eda
|
7
|
2136
|
684
|
14
|
kerem
|
13
|
1720
|
747
|
15
|
nihat
|
9
|
2423
|
594
|
16
|
||||
17
|
satışçı
|
müşteri sayısı
|
satışlar
|
kar
|
18
|
ceyhun
|
=DÜŞEYARA($A18;$A$2:$D$15;2;0)
|
=DÜŞEYARA($A18;$A$2:$D$15;3;0)
|
=DÜŞEYARA($A18;$A$2:$D$15;4;0)
|
19
|
eda
|
=DÜŞEYARA($A19;$A$2:$D$15;2;0)
|
=DÜŞEYARA($A19;$A$2:$D$15;3;0)
|
=DÜŞEYARA($A19;$A$2:$D$15;4;0)
|
20
|
kerem
|
=DÜŞEYARA($A20;$A$2:$D$15;2;0)
|
=DÜŞEYARA($A20;$A$2:$D$15;3;0)
|
=DÜŞEYARA($A20;$A$2:$D$15;4;0)
|
21
|
B18 hücresi için yani ceyhun un müşteri sayısı nedir? kullandığımız formülü yorumlayalım:
=
|
Formülü okuyalım:
Aranan değer: A18 yani ceyhun ismini seç
Tablo dizisi: A1:D15 tüm dataların olduğu tabloyu seç ve tabloda "ceyhun"u bul,
Sütun indis sayısı: 2 Ana tabloda "ceyhun"u bulduğunda Ana tablodaki 2. sütundaki değeri yani müşteri sayısını buraya getir.
A
|
B
|
C
|
D
|
E
|
|
1
|
|||||
2
|
satışçı
|
müşteri sayısı
|
satışlar
|
kar
|
|
3
|
ali
|
9
|
2.257
|
764
|
|
4
|
selin
|
9
|
2466
|
695
|
|
5
|
metin
|
13
|
2.251
|
620
|
|
6
|
ece
|
12
|
1.650
|
515
|
|
7
|
ahmet
|
9
|
2.133
|
555
|
|
8
|
ceyhun
|
13
|
2.461
|
727
|
|
9
|
ceren
|
12
|
1.466
|
779
|
|
10
|
sinan
|
14
|
2.214
|
575
|
|
11
|
gökhan
|
14
|
1.987
|
797
|
|
12
|
can
|
9
|
2.018
|
576
|
|
13
|
eda
|
7
|
2.136
|
684
|
|
14
|
kerem
|
13
|
1.720
|
747
|
|
15
|
nihat
|
9
|
2.423
|
594
|
|
16
|
|||||
17
|
satışçı
|
müşteri sayısı
|
satışlar
|
kar
|
|
18
|
ceyhun
|
13
|
2.461
|
727
|
|
19
|
eda
|
7
|
2.136
|
684
|
|
20
|
kerem
|
13
|
1.720
|
747
|
|
21
|
Dikkat! : Düşeyara yaparken verileri aldığımız ana tablomuz aynı sayfada ya da aynı excel kitabında ise formülü aşağıya çekerken tablonun kaymaması için tabloyu "F4" e basarak sabitlemeliyiz.
Yani: tablo aralığımız "A1:D82" F4'e bastığımızda "$A$1:$D$82" şeklini alır,
farklı bir excel kitabındaysa sabitlemeye gerek yoktur.
Kaydol:
Kayıtlar (Atom)