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:
=

=DÜŞEYARA($A18;$A$2:$D$15;2;0)


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.