• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Formüle Ek

Katılım
3 Mart 2009
Mesajlar
519
Excel Vers. ve Dili
excel 2003 tr
Public Function YA(Dizi, satır, Ax)
Application.Volatile
ay7 = Range("AY" & 7).Value
Sat = satır + ay7

aa = WorksheetFunction.Index(Dizi, (Sat - (0 - Ax)))
a = WorksheetFunction.Index(Dizi, (Sat - (9 - Ax)))
b = WorksheetFunction.Index(Dizi, (Sat - (8 - Ax)))
c = WorksheetFunction.Index(Dizi, (Sat - (7 - Ax)))
d = WorksheetFunction.Index(Dizi, (Sat - (6 - Ax)))
e = WorksheetFunction.Index(Dizi, (Sat - (5 - Ax)))
f = WorksheetFunction.Index(Dizi, (Sat - (4 - Ax)))
g = WorksheetFunction.Index(Dizi, (Sat - (3 - Ax)))
h = WorksheetFunction.Index(Dizi, (Sat - (2 - Ax)))
i = WorksheetFunction.Index(Dizi, (Sat - (1 - Ax)))
j = WorksheetFunction.Index(Dizi, (Sat - (0 - Ax)))

x1 = WorksheetFunction.Or(a = aa)
x2 = WorksheetFunction.Or(b = a)
x3 = WorksheetFunction.Or(c = b, c = a)
x4 = WorksheetFunction.Or(d = c, d = b, d = a)
x5 = WorksheetFunction.Or(e = d, e = c, e = b, e = a)
x6 = WorksheetFunction.Or(f = e, f = d, f = c, f = b, f = a)
x7 = WorksheetFunction.Or(g = f, g = e, g = d, g = c, g = b, g = a)
x8 = WorksheetFunction.Or(h = g, h = f, h = e, h = d, h = c, h = b, h = a)
x9 = WorksheetFunction.Or(i = h, i = g, i = f, i = e, i = d, i = c, i = b, i = a)
x10 = WorksheetFunction.Or(j = i, j = h, j = g, j = f, j = e, j = d, j = c, j = b, j = a)

If Ax = 0 Then
If x10 = True Then
YA = ""
Else
YA = j
End If
End If

If Ax = 1 Then
If x9 = True Then
YA = ""
Else
YA = i
End If
End If

If Ax = 2 Then
If x8 = True Then
YA = ""
Else
YA = h
End If
End If

If Ax = 3 Then
If x7 = True Then
YA = ""
Else
YA = g
End If
End If

If Ax = 4 Then
If x6 = True Then
YA = ""
Else
YA = f
End If
End If

If Ax = 5 Then
If x5 = True Then
YA = ""
Else
YA = e
End If
End If

If Ax = 6 Then
If x4 = True Then
YA = ""
Else
YA = d
End If
End If

If Ax = 7 Then
If x3 = True Then
YA = ""
Else
YA = c
End If
End If

If Ax = 8 Then
If x2 = True Then
YA = ""
Else
YA = b
End If
End If

If Ax = 9 Then
If x1 = True Then
YA = ""
Else
YA = a
End If
End If

End Function

Bu Kodla işlemi çözdüm fakat ben ilk on satıra veri alıyorum, sonsuz döngü mümkümmü bilmiyorum geliştirmek istiyenlere kodu ve örnek dosyayı gönderiyorum
herşey için teşekürler...
 

Ekli dosyalar

Son düzenleme:
sizin yazdığınız formülden anladığım kadarıyla
Kod:
=EĞER(ESAYIYSA(KAÇINCI(DOLAYLI("b"&SATIR(E4)+$AQ$7);$E$4:E4;0));"";DOLAYLI("b"&SATIR(E4)+$AQ$7))

bu formül olabilir mi ?
 
benzersiz veriyi çekmek mi istiyorsunuz ?
o yazdığınız rakamın sebebi nedir ?
yazdığım formül ile verilerin başladığı satıra sizin ilave ettiğiniz sayıyı ekledikten sonra altında gelen verileri benzersiz sıralıyor.
kaçıncı formülü doğru sonuç verdiğinde boş hücre değeri verecektir. yanlış olduğunda 4. satırdan başlayarak eklemiş olduğunuz sayıyı ilave edip b sütunundan veriyi yazıyor

yada ben anlamadım birazcık daha detaylı anlatırsanız sevinirim
 
benzersiz veriyi çekmek mi istiyorsunuz ?
o yazdığınız rakamın sebebi nedir ?
yazdığım formül ile verilerin başladığı satıra sizin ilave ettiğiniz sayıyı ekledikten sonra altında gelen verileri benzersiz sıralıyor.
kaçıncı formülü doğru sonuç verdiğinde boş hücre değeri verecektir. yanlış olduğunda 4. satırdan başlayarak eklemiş olduğunuz sayıyı ilave edip b sütunundan veriyi yazıyor

yada ben anlamadım birazcık daha detaylı anlatırsanız sevinirim

Sizin göndermiş oldugunuz formül benim formüle baglanmiş, ben b sütunundaki veriyi benzersiz olarak çekmek istiyorum AQ7 hücresi değiştiginde ise veriyi o aralıktaki satırdan başlayarak alınmasını

örnek verecek olursak AQ7 hücresi 1 ise

verileri B4 hücresinden başlayarak karşılaştır al AQ hücresi 10 ise verileri
B14 hücresinden başlayarak karşılastır al gibi.

benim yazdıgım formül dogru çalışıyor fakat cok fazla satır var formül cok uzuyor...
 
Arkaşlar Ekte göndermiş oldugum formulde;

=EĞER(EĞERSAY(ELEMAN($AQ$7;B$5:B5;B$6:B6;B$7:B7;B$8:B8;B$9:B9;B$10:B10;B$11:B11;B$12:B12;B$13:B13;B$14:B14;B$15:B15;B$16:B16);İNDİS(B:B;SATIR($A4)+$AQ$7))=1;İNDİS(B:B;SATIR($A4)+$AQ$7);"")

Eleman formülü yerine ne kullanabilirim ?

.

Dosyanız ekte.



.
 

Ekli dosyalar

Sayın Yurttaş bey malesef bu kodda işe yaramadı
ben bu süzülen verileri kopyalayıp başka formlarada da kullancam
Acaba
Benim yazdğım formülde eleman foksiyonu yerine ne kullanıla bilir
KTF yazılabilirmi veya başka bir fonksiyon kullanıla bilirmi Eğer ve yada foksiyonları hariç ?
 
Sayın Yurttaş bey malesef bu kodda işe yaramadı
ben bu süzülen verileri kopyalayıp başka formlarada da kullancam
Acaba
Benim yazdğım formülde eleman foksiyonu yerine ne kullanıla bilir
KTF yazılabilirmi veya başka bir fonksiyon kullanıla bilirmi Eğer ve yada foksiyonları hariç ?

.

Neresi olmadı?

Dosyanızda karşılaştırmalı olarak verdim. Denedim ve aynı sonuçlar üretildiğini ve bir hatanın olmadığını gördüm.

Bu kadar uğraştan sonra. Siz tek bir ifade ile olmadı diye geçiştirin. Emeğe saygı adına neresinin olmadığını belirtin de yanlışımı anlayayım bari...

.
 
.

Neresi olmadı?

Dosyanızda karşılaştırmalı olarak verdim. Denedim ve aynı sonuçlar üretildiğini ve bir hatanın olmadığını gördüm.

Bu kadar uğraştan sonra. Siz tek bir ifade ile olmadı diye geçiştirin. Emeğe saygı adına neresinin olmadığını belirtin de yanlışımı anlayayım bari...

.

SN. yurttaş sizin dosyanızda dizi formülü vardı. kendisi dosyasına uygularken yapamadı sanırım.
 
.

Neresi olmadı?

Dosyanızda karşılaştırmalı olarak verdim. Denedim ve aynı sonuçlar üretildiğini ve bir hatanın olmadığını gördüm.

Bu kadar uğraştan sonra. Siz tek bir ifade ile olmadı diye geçiştirin. Emeğe saygı adına neresinin olmadığını belirtin de yanlışımı anlayayım bari...

.

Çok özür ugraşınızın boş değil yardımlarınız için çok teşekürler sadece ben bu verileri iç içe birleştirip kullancam örnek dosya gönderiyorum sizin formülle bu mümkün görünmüyor...

Hata bende ne yapmak istediğimi daha açık anlatmalıydım..
ekte örnegi sunuyorum
 

Ekli dosyalar

.

Neresi olmadı?

Dosyanızda karşılaştırmalı olarak verdim. Denedim ve aynı sonuçlar üretildiğini ve bir hatanın olmadığını gördüm.

Bu kadar uğraştan sonra. Siz tek bir ifade ile olmadı diye geçiştirin. Emeğe saygı adına neresinin olmadığını belirtin de yanlışımı anlayayım bari...

.

Yurttas bey bu göndermiş oldugunuz formül çok işime yaradı sizden özürdiliyorum, siz haklısınız detaylı incelemeden olmadı dedim bir eklentiyle tam istediğim gibi oldu, Çok teşekürler.
 
Geri
Üst