üç sütunu birden başka üç sütun ölçüt ile sorgulama

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Selam,
ekteki dosyada bir ürüne ait ABC sütunlardaki değerler, EFGH sütundaki referans değerlerde uyup uymadığını kontrol edip D sütununa "var" veya "yok" yazdırmak istiyorum.
yardımcı olursanız sevinirim.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Selam,
ekteki dosyada bir ürüne ait ABC sütunlardaki değerler, EFGH sütundaki referans değerlerde uyup uymadığını kontrol edip D sütununa "var" veya "yok" yazdırmak istiyorum.
yardımcı olursanız sevinirim.

bu kodu denermisiniz .

suru-2 sayfasında çalıştırınız.
yanlızca var olanları çıkartıyor

Kod:
Sub aktar()
For j = 3 To Worksheets("soru-2").[a65536].End(3).Row
deg = 0
deg2 = 0
deg3 = 0
Sheets("soru-2").Cells(j, 4).Value = ""
aranan1 = Val(Left(Sheets("soru-2").Cells(j, 1).Value, 3))
aranan2 = Val(Right(Sheets("soru-2").Cells(j, 1).Value, 3))
aranan3 = Sheets("soru-2").Cells(j, 2).Value
aranan4 = Sheets("soru-2").Cells(j, 3).Value
aranan6 = Sheets("soru-2").Cells(j, 7).Value
aranan5 = Sheets("soru-2").Cells(j, 7).Value
For i = 3 To Worksheets("soru-2").[e65536].End(3).Row
bulunan1 = Val(Left(Sheets("soru-2").Cells(i, 5).Value, 3))
bulunan2 = Val(Right(Sheets("soru-2").Cells(i, 5).Value, 3))
bulunan3 = Val(Left(Sheets("soru-2").Cells(i, 6).Value, 3))
bulunan4 = Val(Right(Sheets("soru-2").Cells(i, 6).Value, 3))
bulunan5 = Sheets("soru-2").Cells(i, 7).Value
bulunan7 = Sheets("soru-2").Cells(i, 8).Value
n = 3
For n = 3 To Len(bulunan5)
deg = Mid(bulunan5, n, 1)
If deg = "-" Then
deg2 = Val(Mid(bulunan5, 1, n - 1))
deg3 = Val(Mid(bulunan5, n + 1, Len(bulunan5)))
'Sheets("soru-2").Cells(i, 10).Value = deg2
'Sheets("soru-2").Cells(i, 11).Value = deg3
n = 100
End If
Next n
If aranan1 >= bulunan1 Then
If aranan1 <= bulunan2 Then
If aranan2 >= bulunan3 Then
If aranan2 <= bulunan4 Then
If aranan4 >= bulunan7 Then
If Val(deg2) = 0 Then
If aranan3 = bulunan5 Then
Sheets("soru-2").Cells(j, 4).Value = "Var"
End If
Else
If aranan3 >= Val(deg2) Then
If aranan3 <= Val(deg3) Then
Sheets("soru-2").Cells(j, 4).Value = "var"
End If
End If
End If
 
End If
End If
End If
End If
End If
Next i
Next j
MsgBox " Düzenleme Tamanlanmıştır..."
End Sub
 
Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Sayın Halit3,

bir kaç sorun var şöyle ki;

1-) aşağıdaki gibi verileri referans tabloda olmasına rağmen bulamıyor.

280x380-4-50
280x380-6-45
280x380-8-45


2-) Sorun galiba benden kaynaklanıyor. Soruyu yetersiz sormuşum. yaprak hesaplarken "-" ile ayrılmayan tek değerlerine eşit olanları buluyor.
isteğim şu yaprak sayısına eşit ve yukarısı olsun. yukarı rakam ise 24 ile sınırlandırılabilir.

3-) makroyu çalıştırmak için bir sayfa üzerinde düğme v.b. şey olabilir mi? veya veri girir girmez güncellenmesi istenebilir mi?

Kolay gelsin.
 
Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Arkadaşlar,
en baştaki örnek dosya ile sunduğum soru Fonsiyonlar ile nasıl yapabiliriz?
Kolay gelsin.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Dinamik alan oluşturmak için aralıkları tanımlayınız. Ağır olan formülü bu şekilde daha az yorarsınız. Eğer aralıklar sabit ise aralık tanımlamazsanız da olur.

Ekle / Ad / Tanımlama

arl1:

Kod:
=KAYDIR($E$3;0;0;BAĞ_DEĞ_DOLU_SAY($E:$E)-1;1)
arl2:

Kod:
=KAYDIR($F$3;0;0;BAĞ_DEĞ_DOLU_SAY($F:$F)-1;1)
arl3:

Kod:
=KAYDIR($G$3;0;0;BAĞ_DEĞ_DOLU_SAY($G:$G)-1;1)
arl4:

Kod:
=KAYDIR($H$3;0;0;BAĞ_DEĞ_DOLU_SAY($H:$H)-1;1)
Daha sonra,

D3:

Kod:
=EĞER(A3="";"";EĞER(TOPLA.ÇARPIM((SOLDAN(A3;BUL("x";A3)-1)+0>=SOLDAN(
arl1;BUL("/";arl1)-2)+0)*(SOLDAN(A3;BUL("x";A3)-1)+0<=0+SAĞDAN(arl1;UZUNLUK(
arl1)-BUL("/";arl1)-1))*(SAĞDAN(A3;UZUNLUK(A3)-BUL("x";A3))+0>=SOLDAN(arl2;BUL(
"/";arl2)-2)+0)*(SAĞDAN(A3;UZUNLUK(A3)-BUL("x";A3))+0<=0+SAĞDAN(arl2;UZUNLUK(
arl2)-BUL("/";arl2)-1))*(B3>=0+SOLDAN(EĞER(EHATALIYSA(BUL("-";arl3));arl3&"-"&
arl3;arl3);BUL("-";EĞER(EHATALIYSA(BUL("-";arl3));arl3&"-"&arl3;arl3))-1))*(B3
<=0+SAĞDAN(EĞER(EHATALIYSA(BUL("-";arl3));arl3&"-"&arl3;arl3);UZUNLUK(
EĞER(EHATALIYSA(BUL("-";arl3));arl3&"-"&arl3;arl3))-BUL("-";EĞER(EHATALIYSA(
BUL("-";arl3));arl3&"-"&arl3;arl3))))*(arl4<=C3))=0;"Yok";"Var"))
Dizi formüdür. ctrl shift enter tuş kombinasyonu ile girişini tamamlayınız..

.
 
Üst