Soru 14

381 defa okundu

14. sorumuzla devam edelim.

Aşağıdaki gibi bir tablomuz var.

Farklı ürünlerin, farklı tarihlerdeki satın almalarına ilişkin satın alma tutarları bulunuyor. Burada seçilen ürünün, en düşük satın alma fiyatının tarihi isteniyor.

Dosyayı buradan indirebilir, cevaplarınızı yorum olarak yazabilirsiniz.


CEVAP

=MİN(EĞER(C2:C51=MİN(EĞER(A2:A51=F5;C2:C51));B2:B51))

Dizi formülüdür. Ctrl Shift Enter yapmayı unutmayın.

Bunlar da ilginizi çekebilir

  1. Abdullah ÖZDEM dedi ki:

    =İNDİS($B2:$B51;KAÇINCI(ÇOKEĞERMİN($C$2:$C$51;$A$2:$A$51;$F$5);$C$2:$C$51;0);0)

  2. Adem Kürşat dedi ki:

    =İNDİS($A$2:$C$51;KAÇINCI(MİN(FİLTRE(A2:$C$51;A2:$A$51=$F$5));C2:$C$51;0);2)

  3. UTKU DÜLGER dedi ki:

    Sub fiyatbul()
    ‘TANIMLAMA
    Dim satirsayisi As Integer
    Dim a As Integer
    Dim dusukfiyat As Integer
    Dim fiyat As Integer
    Dim tarih As Date

    a = 2
    fiyat = 0

    ‘SON SATIRI BULMA
    satirsayisi = Sheets(“Sayfa1”).UsedRange.Rows.Count

    ‘SON SATIRA KADAR KONTROL EDEN DÖNGÜ
    For a = 2 To satirsayisi

    ‘KONTROL EDİLEN SATIRIN İLK HÜCRESİ İLE GİRİLEN DEĞER AYNI MI?
    If Sheets(“Sayfa1”).Cells(a, 1) = Sheets(“Sayfa1”).Cells(5, 6) Then

    ‘iLK EŞLEŞME KONTROLÜ, FİYAT VE TARİH BELİRLEME
    If fiyat = 0 Then

    fiyat = Cells(a, 3)
    dusukfiyat = fiyat
    tarih = Cells(a, 2)

    End If

    ‘2 VE SONRAKİ ÜRÜN EŞLEŞMELERİNDE DÜŞÜK FİYAT KONTROLÜ VE TARİHİNİN BELİRLENMESİ

    fiyat = Cells(a, 3)

    If fiyat 0 And fiyat < dusukfiyat Then

    dusukfiyat = fiyat
    tarih = Cells(a, 2)

    End If

    End If

    Next

    'TARİHİN İLGİLİ HÜCREYE YAZILMASI

    Cells(6, 7) = tarih

    'ÜRÜN İSMİ DOĞRU DEĞİLSE KONTROL TALEP ETME

    If tarih = 0 Then

    MsgBox ("ÜRÜN İSMİNİ DOĞRU GİRDİĞİNİZDEN EMİN OLUN")
    Cells(6, 7) = ""

    End If

    End Sub

  4. Erdem Akdemir dedi ki:

    Dizi formülü,

    =İNDİS($B$1:$B$51;KAÇINCI(MİN(EĞER(A1:A51=F5;C1:C51));EĞER(A1:A51=F5;C1:C51);0))

    Makro,

    Sub dusukk()

    Range(“G6”).ClearContents

    Set con = VBA.CreateObject(“adodb.Connection”)

    con.Open “provider=microsoft.ace.oledb.12.0;data source=” & _
    ThisWorkbook.FullName & “;extended properties=””Excel 12.0;hdr=yes”””

    sorgu = “select top 1 [Satın Alma Tarihi] from[sayfa1$] where ” & _
    “Ürünler = ‘” & Sayfa1.Range(“f5”) & “‘ order by [Satın Alma Fiyatı] asc”

    Set rs = con.Execute(sorgu)
    Range(“G6”).CopyFromRecordset rs

    End Sub

  5. Mustafa dedi ki:

    Merhaba,
    *Dizi Formülüdür
    =KAYDIR(A1;KAÇINCI(F5&MİN(EĞER((F5=A2:A51);C2:C51));A2:A51&C2:C51;0);1)

  6. Alper Düryaz dedi ki:

    =İNDİS($B$2:$B$51;KAÇINCI($F$5&MİN(EĞER($A$2:$A$51=$F$5;$C$2:$C$51;””));$A$2:$A$51&$C$2:$C$51;0))

    dizi formülü şeklinde ctrl+shift+enter ile yazılmalı

  7. Murat dedi ki:

    {=İNDİS(B:B;KAÇINCI(BÜYÜK(–(A2:A51=F5)*(C2:C51);EĞERSAY(A:A;F5));C:C;0);1)}

  8. Murat Özlü dedi ki:

    =İNDİS($B:$B;KAÇINCI(ÇOKEĞERMİN($C:$C;$A:$A;$F$5);$C:$C;0);0)

  9. Adem Kürşat dedi ki:

    =+İNDİS($A$2:$C$51;KAÇINCI($F$5&MİN(EĞER($A$2:$A$51=$F$5;$C$2:$C$51));$A$2:$A$51&$C$2:$C$51;0);2)

  10. Hilmi Uğuzay dedi ki:

    =MİN(EĞER($A$2:$A$51=F5;$B$2:$B$51))

  11. Erdem Akdemir dedi ki:

    Hocam merhaba,

    Verdiğiniz formül hatalı. Ürün10’un en küçük değeri olan 110 değerini , C2 satırına yazarsanız, ürün10 için en küçük tarih 1 mayıs çıkacatır. Doğru sonucun 5 mayıs olması lazım.Yazdığınız formül listedeki en küçük değerin sahip olduğu, en küçük tarihi getiriyor.

    • bymmb dedi ki:

      Formül doğru çalışıyor. 5 mayıs tarihini getiriyor. Zaten sorduğum şey bu.

  12. şahin akpınar dedi ki:

    Sub deneme()
    m = Application.WorksheetFunction.Max(Range(“c:c”))
    For i = 2 To 51
    If Cells(i, 1) = Range(“f5”) Then
    If Cells(i, 3) <= m Then
    m = Cells(i, 3)
    c = Cells(i, 2)
    End If
    End If
    Next i
    Range("g6") = c
    End Sub

  13. Yakup Alkan dedi ki:

    dizi formülüdür

    =ARA(2;1/(MİN(EĞER($A$2:$A$51=$F$6;$C$2:$C$51;””))=$C$2:$C$51);$B$2:$B$51)

  14. Özkan dedi ki:

    Mustafa hocam selamlar,

    Kimse yeni formülleri kullanmamış. Ben daha kısa yoldan ve Ctrl Shift Enter olayına girmeden aşağıdaki gibi çözdüm.

    Saygılarımla.

    =FİLTRE(B2:B51;C2:C51=ÇOKEĞERMİN(C2:C51;A2:A51;F5))

    • Adem Kürşat dedi ki:

      Ben kullanmıştım aslında en yukarıdaki ilk çözümüm de :))

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.