çok koşullu düşeyara

Katılım
14 Şubat 2011
Mesajlar
11
Excel Vers. ve Dili
2003
A B C D
barkod faturano adsoyad tutar
0001 449123 kemal sunal 12
0002 449124 hakan şükür 49
0003 449125 kemal sunal 59


örnek tabloda kemal sunalın 12 liralık satışının fatura numarasını veren formülü arıyorum.
 
İ

İhsan Tank

Misafir
A B C D
barkod faturano adsoyad tutar
0001 449123 kemal sunal 12
0002 449124 hakan şükür 49
0003 449125 kemal sunal 59


örnek tabloda kemal sunalın 12 liralık satışının fatura numarasını veren formülü arıyorum.
merhaba
Kod:
=İNDİS($B$2:$B$6;TOPLA.ÇARPIM(KAÇINCI("kemal"&"sunal"&12;
$C$2:$C$6&$D$2:$D$6&$E$2:$E$6;0));1)
bu formülü kullanabilirsiniz
 
Katılım
14 Şubat 2011
Mesajlar
11
Excel Vers. ve Dili
2003
bu formülü 90,000 satırlık veriye uygulicam hocam kontrolü hücre bazlı yapamazmıyız
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,767
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek dosya üzerinde yapmak istediğiniz işlemi açıklar mısınız?
 
Katılım
14 Şubat 2011
Mesajlar
11
Excel Vers. ve Dili
2003
Ilk sayfada tahsilat listem var
ikinci sayfada gönderi listem

carilerin kapatmaları için tahsilat bedellerinin aranacağı bir formüle ihtiyacım var
90,000 satır var

dosya ektedir
 

Ekli dosyalar

Ö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,

Örnek;

2 veride Kemal Sunal olarak geçiyor, H2 hücresini hesaplarken "KARGO TAHSİLAT LİSTESİ" sayfasında Kemal Sunal'ın 120 mi yoksa 200 mu değerinden hangisini alacağını nasıl anlıyacağız.?

.
 
Katılım
14 Şubat 2011
Mesajlar
11
Excel Vers. ve Dili
2003
kemal sunal 2 sipariş vermiş
biri 12 milyon biri 120 lira

2 satışın da tahsilatı, gönderi listesinin yanına yazılacak
tahsil edilmemiş paketlerimi belirlicem
 

Ö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
Sayın mtnzkn,

Benim de sorduğum oydu. İkisini ayrı ayrı yazarız sorun değil, fakat bu şekilde yazılış sıraşı sizin verinizle örtüşmeyebilir.

Hangi sıraya 12, hangi sıraya 120 gelmesi veri düzenine göre karışabilir. Bu yüzden arama yaparken bir ölçüt daha katılması önerimdir.

Tablonuza uygun ölçüt, fatura numarası yada barkot numarası olabilir fakat bu veriler de iki sayfanın sadece birinde var.

.
 
Katılım
14 Şubat 2011
Mesajlar
11
Excel Vers. ve Dili
2003
aynen benim de sorunum o zaten

eğer a1=kemal sunal ; b1=12 ise c1 e Sayfa2!A1 deki fatura numarasını yaz gibi bir komut yokmudur
2 koşullu düşeyara fonksiyonu gibi bişey olucak sanırım
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,767
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Eklediğiniz dosyada H2 hücresine aşağıdaki notu eklemişsiniz.

** KARGO TAHSİLAT LİSTESİNDEN İSİMLER TUTARI KARŞILAŞTIRIP TAHSİLAT BEDELİNİ BU HÜCREYE YAZACAK
Tahsilat bedeli bilgisi hangi sütunda bulunuyor ben göremedim.

Ayrıca 90.000 satır için formül kullanmanız sıkıntı yaratacaktır. Makro ile daha hızlı sonuca gidebilirsiniz.
 

Ö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
aynen benim de sorunum o zaten

eğer a1=kemal sunal ; b1=12 ise c1 e Sayfa2!A1 deki fatura numarasını yaz gibi bir komut yokmudur
2 koşullu düşeyara fonksiyonu gibi bişey olucak sanırım
Bende birkaç birşey sorayım.

Açıklamalarınız bu şekilde kısıtlı olduğu müddetçe soru çözümüne başlamamız uzayacaktır.

Verdiğiniz örnekle örtüşen açıklamalar yaparsanız, konu bizim için çok daha net anlaşılır.

"GÖNDERİ LİSTESİ" sayfasında A2 hücresindeki veri, "KARGO TAHSİLAT LİSTESİ" sayfasında C sütununda aranacak, bu tamam. Bundan sonrası için bu şekilde açık ve net bir şekilde konuyu özetlermisiniz.

Dosyada ikinci aranacak koşulu bulamadım. Hangi hücre ile hangi sütun aranacak ki ikili düşeyara olsun.Tablonuzu gözden geçirmenizi rica ederim...

.
 
Katılım
14 Şubat 2011
Mesajlar
11
Excel Vers. ve Dili
2003
isimleri eşleştiricek bu tamam
örnek dosyada dikkat edersen kemal sunalın 2 tane satışı var
yapmak istediğim formül şöyle

GönderiListesi!ADSOYAD=Tahsilat!ADSOYAD; GönderiListesi!İLÇE=TAHSİLAT!İLÇE; GönderiListesi!TUTAR=Tahsilat!Tutar
OLDUĞU DURUMLARDA TAHSİLAT LİSTESİNDEKİ TUTARI GÖNDERİ LİSTESİNDE EŞLEŞEN SATIRIN SAĞINA YAZ

(YANİ KEMAL SUNALIN 12 LİK SATIŞI 449123 NUMARALI FATURAYI, 120 LİRALIK SATIŞI 449127 NUMARALI FATURAYI KAPATACAK)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,767
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

90.000 satırlık bir veriye uygulayacağınız için kod önerdim. Veri sayınız arttıkça biraz yavaşlama yaşayabilirsiniz.


Kod:
Option Explicit
 
Sub TAHSİLAT_BEDELİ_ARA()
    Dim S1 As Worksheet, S2 As Worksheet
    Dim BUL As Range, ADRES As String, X As Long
 
    Application.ScreenUpdating = False
 
    Set S1 = Sheets("KARGO TAHSİLAT LİSTESİ")
    Set S2 = Sheets("GÖNDERİ LİSTESİ")
 
    S2.Range("H2:H" & Rows.Count).ClearContents
 
    For X = 2 To S2.Cells(Rows.Count, "A").End(3).Row
        Set BUL = S1.Range("C:C").Find(S2.Cells(X, "A"))
        If Not BUL Is Nothing Then
        ADRES = BUL.Address
        Do
            If S2.Cells(X, "D") = BUL.Offset(0, 2) And S2.Cells(X, "G") = BUL.Offset(0, 4) Then
                S2.Cells(X, "H") = BUL.Offset(0, 4)
                Exit Do
            End If
        Set BUL = S1.Range("C:C").FindNext(BUL)
        Loop While Not BUL Is Nothing And BUL.Address <> ADRES
        End If
    Next
 
    Set BUL = Nothing
    Set S1 = Nothing
    Set S2 = Nothing
 
    Application.ScreenUpdating = True
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
14 Şubat 2011
Mesajlar
11
Excel Vers. ve Dili
2003
Kod istediğimi yaptı ama sadece ilk kaydı hesapladı diğerlerini hesaplamadı
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,767
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Üstteki mesajımdaki kodda küçük bir değişklik yaptım. İncelermisiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,767
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Başka eşleşen veri yoksa listeleme yapmaması gayet doğaldır.
 
Üst