• DİKKAT

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

Seçimlere göre veri alma

  • Konbuyu başlatan Konbuyu başlatan CenTay
  • Başlangıç tarihi Başlangıç tarihi
Katılım
27 Haziran 2010
Mesajlar
394
Excel Vers. ve Dili
Türkçe 2010 Ofis
Sayın ustalarım

2 hücreden 2 ayrı seçim yapıyorum ve belli bir veri topluluğundan 2 nci bir tablo elde etmek ve elde edilen tablonun da grafiğini almak istiyorum,

yardımlarınız için teşekkür ederim
 

Ekli dosyalar

merhaba

bende bişeyler yapmıştım, boşa gitmesin
 

Ekli dosyalar

tesekkur ediyorum guzel çalısmalar :)
 
Merhaba;
Eki inceleyin.
İyi çalışmalar.

Merhaba muygun uzmanım, emeğin için sağol, şu var ki ben 2 seçim yapacağım ve günlerin karşısına, yapılan 2 nci seçime göre (sebze-meyva) sebze yada meyvalar, diğer sütuna da rakamlar gelecek,

Teşekkür ederim tekrardan.
 
2 ve 3 seçime göre tablo elde etmek

Merhaba arkadaşlar,

Bu arzum da öncekine benzemekle beraber biraz farklı bir durum, Ocak-Şubat sayfalarında, gün ve malzeme seçeceğim, yıllık sayfasında ay-gün-malzeme seçeceğim,

Ocak ve Şubatta 2, Yıllıkta 3 seçim ile tablolar oluşturacağım,

Yardımcı olurmusunuz? sağolun...
 

Ekli dosyalar

Merhabalar ve iyi akşamlar,

Konuyla alakalı son bir destek rica ediyorum,
 
Merhaba
O6 hücresine aşağıdaki dizi formülünü
=EĞER(SATIRSAY($P$6:P6)<=$P$2;İNDİS($C$3:$C$33;KÜÇÜK(EĞER($D$3:$D$33=$O$2;SATIR($D$3:$D$33)-SATIR($D$3)+1);SATIRSAY($P$6:P6)));"")


Q6 hücresine
=EĞER(O6="";"";TOPLA.ÇARPIM((C$3:C$33=O6)*(E$2:L$2=O$4);($E$3:$L$33)))
formulünü deneyiniz.
 
Merhaba
O6 hücresine aşağıdaki dizi formülünü



Q6 hücresine

formulünü deneyiniz.

Merhaba muokumus, zahmet etmişsiniz, teşekkür ediyorum,
benim çözüm aradığım sorunum 7 numaralı mesajda, ay bazında 2, yıl bazında 3seçenek için,

ay için ; gün seçtiğimde ( örnek pazartesi olsun ) seçilen mamule ait ( örnek elma olsun ) pazartesileri alt alta yazsın ve karşılıklarına da ilgili sayılar gelsin

yıl için ; gün seçtiğimde ( örnek pazartesi olsun ) ay seçtiğimde ( örnek ocak olsun ) seçilen mamule ait ( örnek elma olsun ) pazartesileri alt alta yazsın ve karşılıklarına da ilgili sayılar gelsin

Tekrardan teşekkür ediyorum ve iyi günler diliyorum.
 
ay için ; gün seçtiğimde ( örnek pazartesi olsun ) seçilen mamule ait ( örnek elma olsun ) pazartesileri alt alta yazsın ve karşılıklarına da ilgili sayılar gelsin
yıl için ; gün seçtiğimde ( örnek pazartesi olsun ) ay seçtiğimde ( örnek ocak olsun ) seçilen mamule ait ( örnek elma olsun ) pazartesileri alt alta yazsın ve karşılıklarına da ilgili sayılar gelsin.

Merhaba,

Ay için;

O6 hücresine yazarak dizi formülüne çevirdikten sonra yana ve alt hücrelere kopyalayınız.

Kod:
=EĞER(SATIRSAY(O$6:O6)>[COLOR=red]$P$2[/COLOR];"";İNDİS($C$3:$L$33;KÜÇÜK(EĞER($D$3:$D$33=$O$2;
 SATIR($C$3:$C$33)-SATIR($C$3)+1);SATIRSAY(O$6:O6));
  ELEMAN(SÜTUNSAY($O6:O6);1;2;KAÇINCI($O$4;$C$2:$L$2;0))))

P2 de yazdığınız formül kalsın.

----------------------------------------------------------------------------------------------------

Yıl için;

D2 yardımcı hücre sayım için;

Kod:
=EĞERSAY(DOLAYLI(B2&"!D3:D33");B4)

C8 hücresine yazarak dizi formülüne çevirdikten sonra yana ve alt hücrelere kopyalayınız.

Kod:
=EĞER(SATIRSAY(C$8:C8)>$D$2;"";İNDİS(DOLAYLI($B$2&"!C3:L33");KÜÇÜK(EĞER(DOLAYLI(
 $B$2&"!D3:D33")=$B$4;SATIR($C$3:$C$33)-SATIR($C$3)+1);SATIRSAY(C$8:C8));
  ELEMAN(SÜTUNSAY($C8:C8);1;2;KAÇINCI($B$6;DOLAYLI($B$2&"!C2:L2");0))))

.
 
Merhaba,

ay için ( örn; ocak sayfası ) tarih ( C ve O sütunu ) formül ve formatlarını düzelttim, sorunu çözdüm, kaldı diğeri :)
 
Merhaba,

Ay için;

O6 hücresine yazarak dizi formülüne çevirdikten sonra yana ve alt hücrelere kopyalayınız.

Kod:
=EĞER(SATIRSAY(O$6:O6)>[COLOR=red]$P$2[/COLOR];"";İNDİS($C$3:$L$33;KÜÇÜK(EĞER($D$3:$D$33=$O$2;
 SATIR($C$3:$C$33)-SATIR($C$3)+1);SATIRSAY(O$6:O6));
  ELEMAN(SÜTUNSAY($O6:O6);1;2;KAÇINCI($O$4;$C$2:$L$2;0))))

P2 de yazdığınız formül kalsın.

----------------------------------------------------------------------------------------------------

Yıl için;

D2 yardımcı hücre sayım için;

Kod:
=EĞERSAY(DOLAYLI(B2&"!D3:D33");B4)

C8 hücresine yazarak dizi formülüne çevirdikten sonra yana ve alt hücrelere kopyalayınız.

Kod:
=EĞER(SATIRSAY(C$8:C8)>$D$2;"";İNDİS(DOLAYLI($B$2&"!C3:L33");KÜÇÜK(EĞER(DOLAYLI(
 $B$2&"!D3:D33")=$B$4;SATIR($C$3:$C$33)-SATIR($C$3)+1);SATIRSAY(C$8:C8));
  ELEMAN(SÜTUNSAY($C8:C8);1;2;KAÇINCI($B$6;DOLAYLI($B$2&"!C2:L2");0))))

.

Merhaba Ömer hocam, çözümünüzü görmeden yazmışım, formüllerinizi ilgili yerlere yazdım ve sorunlar çözüldü, teşekkür ederim,
 
Makro çözüm olur mu?

ThisWorbok sayfasına kopyalayınız.

Sayfalardaki doğrulamadan veri seçince kodlar çalışacaktır.

Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, _
                                 ByVal Target As Range)
                                 
    Dim Sy As Worksheet, sut As Integer, sat As Long
    Dim c As Range, ilkadres As Variant, Sd As Worksheet
    
    On Error GoTo atla
             
    If ActiveSheet.Name = "YILLIK" Then
  
        If Intersect(Target, [B2,B4,B6]) Is Nothing Then Exit Sub
        
        Range("C8:E" & Rows.Count).ClearContents
        
        Set Sd = Sheets("" & Range("B2") & "")
        
        sut = WorksheetFunction.Match(Range("B6"), Sd.Range("A2:L2"), 0)
        sat = 8
        
        With Sd.Range("D:D")
            Set c = .Find(Range("B4"), LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then
                ilkadres = c.Address
                Do
                    Cells(sat, "C") = Sd.Cells(c.Row, "C")
                    Cells(sat, "D") = Sd.Cells(c.Row, "D")
                    Cells(sat, "E") = Sd.Cells(c.Row, sut)
                    sat = sat + 1
                    
                    Set c = .FindNext(c)
                Loop While Not c Is Nothing And c.Address <> ilkadres
            End If
        End With
        
    Else
 
        If Intersect(Target, [O2,O4]) Is Nothing Then Exit Sub
        
        Range("O6:Q" & Rows.Count).ClearContents
        
        sut = WorksheetFunction.Match(Range("O4"), Range("A2:L2"), 0)
        sat = 6
        
        With Range("D:D")
            Set c = .Find(Range("O2"), LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then
                ilkadres = c.Address
                Do
                    Cells(sat, "O") = Cells(c.Row, "C")
                    Cells(sat, "P") = Cells(c.Row, "D")
                    Cells(sat, "Q") = Cells(c.Row, sut)
                    sat = sat + 1
                    
                    Set c = .FindNext(c)
                Loop While Not c Is Nothing And c.Address <> ilkadres
            End If
        End With
        
    End If
    
    Exit Sub
atla:
    
    MsgBox "Aranan Değeri Bulamadım"
 
End Sub
.
 
Sn Ömer çok teşekkür ederim. Size bir sorum olacak.
If Intersect(Target, [B2,B4,B6]) Is Nothing Then Exit Sub
Bunun anlamı [B2,B4,B6] aralığında değişiklik olmazsa çık demek. Intersect(Target, bu ifade kalıp mı, bunun anlamı nedir?
 
Bunun anlamı [B2,B4,B6] aralığında değişiklik olmazsa çık demek. Intersect(Target, bu ifade kalıp mı, bunun anlamı nedir?

Değişiklik değilde hücrede herhangi bir işlem yapılması denebilir. Hücreyi değiştirmeden F2 enter yaparsanız da kod çalışır.


Kullanılan makro hücre tetiklemeli makrodur.

Private Sub Workbook_SheetChange(ByVal Sh As Object, _
ByVal Target As Range)

İle hücre değişkeni Target ile ifade edilmiştir. Siz bu target değerini başlıkta muokumus olarak ta yazabilirsiniz.

Buradan sonra istediğiniz bilgi ise;

If Intersect(Target, [B2,B4,B6]) Is Nothing Then Exit Sub

İşlem yapılan hücre B2,B4 ve B6 dışında ise makroyu çalıştırmadan çık anlamını ifade eder. Bu değerlerde işlem yapılırsa makro koda devam eder. Bunun dışındaki hücrelerde işlem yapılırsa makro kodu durdurur ve kod işlevini yapmaz.

Kısaca bu şekilde ifade edilebilir.

.
 
Geri
Üst