Çözüldü formullü otomatik süz ile yeni liste yaratma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#1
Merhaba,
elimde aşağıdaki gibi binlerce numaradan oluşan bir liste var, yapmak istediğim şey belirli bir kriter'e göre listeyi bölüp yeni bir liste yapmak

1545912378016.png

kriter şu; eğer F/E satırındaki bilgi "E" ise ve "Container No." satırı boş ise yan sekmede aşağıdaki formatta yeni bir liste yaratıp mevcut listeden bu satırı silmesini istiyorum

1545912478627.png

listede geriye kalanlar ayrı bir sekmede de olabilir.

yardımcı olurmusunuz.
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,054
En İyi Yanıtlar
77
Beğeniler
855
Puanları
113
Konum
İstanbul
#2
Merhabalar,
Örnek dosya eklerseniz net bir çözüm sunabiliriz. (y)
 

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#3
merhaba,

örnek dosya ektedir.
 

Ekli dosyalar

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,054
En İyi Yanıtlar
77
Beğeniler
855
Puanları
113
Konum
İstanbul
#4
Elimizde sadece Genel Liste sayfası varmış gibi mi işlem yapalım?
Diğer 2 sayfayı siz oluşturmak istiyorsunuz değil mi?
 

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#5
evet, diğer sekmeleri ben manuel olarak yapıyorum, bunların formul ile otomatik olarak oluşmasını sağlayabilir miyiz
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,054
En İyi Yanıtlar
77
Beğeniler
855
Puanları
113
Konum
İstanbul
#6
Bu kodları kullanabilirsiniz. (y)
VBA:
Sub Container_Bos_ve_E_Olanlar()
    Dim son&
    Sayfa2.Cells.Clear
    son = Sayfa1.Cells(Rows.Count, "A").End(3).Row
    Sayfa1.Range("$A$1:$D$" & son).AutoFilter Field:=2, Criteria1:="="
    Sayfa1.Range("$A$1:$D$" & son).AutoFilter Field:=4, Criteria1:="E"
    Sayfa1.Range("A1").CurrentRegion.Copy Sayfa2.Range("A1")
    Sayfa2.Columns.AutoFit
    Sayfa1.Range("A1").AutoFilter
    son = Empty
End Sub
VBA:
Sub Container_Dolu_Olanlar()
    Dim son&
    Sayfa3.Cells.Clear
    son = Sayfa1.Cells(Rows.Count, "A").End(3).Row
    Sayfa1.Range("$A$1:$D$" & son).AutoFilter Field:=2, Criteria1:="<>"
    Sayfa1.Range("A1").CurrentRegion.Copy Sayfa3.Range("A1")
    Sayfa3.Columns.AutoFit
    Sayfa1.Range("A1").AutoFilter
    son = Empty
End Sub
Dosyayı da ekliyorum, sayfadaki butonlara basmanız yeterli.
 

Ekli dosyalar

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#7
merhaba,

macro için aşağıdaki gibi hata alıyorum. bu işlemi macro yerine =IF ile yapılabilir mi?

1545987737192.png
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,054
En İyi Yanıtlar
77
Beğeniler
855
Puanları
113
Konum
İstanbul
#8
Şu yolu takip ederek Makroları Etkinleştirin..
  1. Dosya
  2. Seçenekler
  3. Güven Merkezi
  4. Güven Merkezi Ayarları
  5. Makro Ayarları
  6. Tüm Makroları Etkinleştir'i seçip
  7. Tamam'a basın..
 

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#9
merhaba,

şirket pc olduğu için bu ayarları değiştirmeme izin vermiyor. admin yetkisi sadece almanya merkezde ve onlardan yardım istedim, ancak kabul etmediler, local olarak burda imzalayamaz mıyım? yada bu işlemi formul kullanarak halledemez miyiz?

1545995069730.png
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,054
En İyi Yanıtlar
77
Beğeniler
855
Puanları
113
Konum
İstanbul
#10
Formülle de çözülür ama dosyanız ağırlaşır..
Makro ile ve Dizi Formülü ile çözümü ekliyorum. İncelersiniz.
 

Ekli dosyalar

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#11
merhaba,

boş konteyner sekmesi doğru çalışıyor, ancak "container dolu olanlar" sekmesine bir koşul daha ekleyebilirmiyiz,

koşul :
eğer D sutunundaki değer "F" ise bu listede mutlaka olsun ("B"sunundaki container no eksik bile olsa bu listede olsun)
sonunda bu listenin genel listeden farkı;"D" sutununun "E" ve "B" sutnunundaki container no boş koşulunu aynı anda sağlayanların çıkarılmış olmasıdır.
 

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#12
merhaba,

formul ile ilave koşulu sağlanabilir mi?
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,054
En İyi Yanıtlar
77
Beğeniler
855
Puanları
113
Konum
İstanbul
#13
Merhaba,
Formül içine bir eğer şartı daha ilave edilebilir.
Formülle çözüme bakarsanız siz de bunu yapabilirsiniz..
 

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#14
merhaba,

çok uğraştım, fomulün heryerine ilave ederek denedim ama başaralı olmadım, her seferinde hata veriyor.
1547022228212.png
formule koşulu siz ekleyebilir misiniz.
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,054
En İyi Yanıtlar
77
Beğeniler
855
Puanları
113
Konum
İstanbul
#15
koşul :
eğer D sutunundaki değer "F" ise bu listede mutlaka olsun ("B"sunundaki container no eksik bile olsa bu listede olsun)
Zaten formül o şekilde çalışıyor. Yapıştırdığınız formüle bakarsanız bir tane IF var ve B sütunu boş değilse yazıyor.
Yani D sütununda E de olsa F de olsa boş olmayanları getirir.
 

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#16
alıntı başlar
"Yani D sütununda E de olsa F de olsa boş olmayanları getirir"
alıntı bitiş


bu durumda formul ilk önce B sütununa bakıyor, eğer burası boş ise listeyi buna göre hazırlıyor
formulde değiştirilmesini istediğim kısım ilk önce D sütununa baksın, eğer burdaki değer değer "F" ise bu listede mutlaka olsun ("B"sunundaki container no eksik bile olsa bu listede olsun)
sonunda bu listenin genel listeden farkı;"D" sutununun "E" ve "B" sutnunundaki "container no boş koşulunu" aynı anda sağlayanların çıkarılmış olmasıdır
sizin hazırlamış olduğunuz dosya ya örnek sekmeleri ilave ederek tekrar gönderiyorum
 

Ekli dosyalar

Katılım
17 Ağu 2018
Mesajlar
39
En İyi Yanıtlar
5
Beğeniler
19
Puanları
8
Konum
Ankara, İstanbul
Ad Soyad
Ömer BARAN
#17
Merhaba.
Sayın OSMA'nın müsadeleriyle.
Son mesajınızdaki isteğinizi anladığımı söyleyemem.

İlk sorularınızla ilgili alternatif (makro ve formül ile çözüm) öneride bulunayım istedim.
>> Makro ile çözüm alternatifi:
VBA:
Sub Container_Bos_ve_E_Olanlar_BRN()
Dim s1, s2 As Worksheet, a(), b()
Set s1 = Sheets("genel liste")
Set s2 = Sheets("container No Eksik Olanlar")
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
    a = s1.Range("A2:D" & s1.Cells(Rows.Count, 1).End(3).Row).Value
    ReDim b(1 To UBound(a), 1 To 4)
        For i = 1 To UBound(a)
            If a(i, 2) = "" And a(i, 4) = "E" Then
                brn = brn + 1
                b(brn, 1) = a(i, 1)
                b(brn, 2) = a(i, 2)
                b(brn, 3) = a(i, 3)
                b(brn, 4) = a(i, 4)
            End If
        Next i
    If brn > 0 Then
        s2.Range("A2:D" & s1.Cells(Rows.Count, 1).End(3).Row).Clear
        s2.[A2].Resize(brn, 4) = b
    End If
    Erase a: Erase b: brn = Empty
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "İşlem tamamlandı", vbInformation, "..:: Ömer BARAN ::.."
End Sub
VBA:
Sub Container_Dolu_Olanlar_BRN()
Dim s1, s3 As Worksheet, a(), b()
Set s1 = Sheets("genel liste")
Set s3 = Sheets("Container Dolu Olanlar")
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
    a = s1.Range("A2:D" & s1.Cells(Rows.Count, 1).End(3).Row).Value
    ReDim b(1 To UBound(a), 1 To 4)
        For i = 1 To UBound(a)
            If a(i, 2) <> "" Then
                brn = brn + 1
                b(brn, 1) = a(i, 1)
                b(brn, 2) = a(i, 2)
                b(brn, 3) = a(i, 3)
                b(brn, 4) = a(i, 4)
            End If
        Next i
    If brn > 0 Then
        s3.Range("A2:D" & s1.Cells(Rows.Count, 1).End(3).Row).Clear
        s3.[A2].Resize(brn, 4) = b
    End If
    Erase a: Erase b: brn = Empty
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "İşlem tamamlandı", vbInformation, "..:: Ömer BARAN ::.."
End Sub
>> Formül ile çözüm (dizi formülü kullanmadan) alternatifi :
Sanıyorum dizi formülü yerine yardımcı alan kullanıldığında belgenizdeki yavaşlama daha az olacaktır.
Bu işlem için genel liste isimli sayfanın E ve F sütununun, yardımcı alan olarak kullanılması uygun gibi görünüyor. Buna göre;
-- Aşağıdaki birinci formülü genel liste sayfası E2 hücresine, ikinci formülü de F2 hücresine uygulayıp, liste boyunca kopyalayın.
=EĞER(VE(B2="";D2="E");MAK($E$1:E1)+1;"")
=EĞER(B2<>"";MAK($F$1:F1)+1;"")
-- Aşağıdaki formülü container No Eksik Olanlar isimli sayfa A2 hücresine uygulayın, ardından bu hücreyi C2 ve D2 hücresine kopyalayın, sonra da A2 : D2 aralığını kopyalayarak, aşağı doğru (BOŞ sonuç elde edinceye kadar) kopyalayın.
=EĞER(SATIR($A1)>'genel liste'!$E:$E;"";KAYDIR('genel liste'!$A$1;KAÇINCI(SATIR($A1);'genel liste'!$E:$E;0)-1;SÜTUN(A$1)-1))
-- Aşağıdaki formülü Container Dolu Olanlar isimli sayfa A2 hücresine uygulayın, ardından bu hücreyi sağa (D2'ye kadar) ve aşağı doğru (BOŞ sonuç alıncaya kadar) kopyalayın.
=EĞER(SATIR($A1)>MAK('genel liste'!$F:$F);"";KAYDIR('genel liste'!$A$1;KAÇINCI(SATIR($A1);'genel liste'!$F:$F;0)-1;SÜTUN(A$1)-1))
 

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#18
Ömer bey merhaba,
bu işlemi macro ile yapamıyorum çünkü aşağıdaki hatayı alıyorum,


1547451808525.png
şirket pc olduğu için bu ayarları değiştirmeme izin vermiyor. admin yetkisi sadece almanya merkezde ve onlardan yardım istedim, ancak kabul etmediler,

1547451872618.png

bu yüzden formül ile yardım istemiştim,
"container no eksik" olanlar için hazırlamış olduğunuz formul gayet iyi çalışıyor.burayı değiştirmeye gerek yok,
ancak container no dolu olanlar için fomul'de ilk önce B sütununa bakıyor, eğer burası dolu ise listeyi buna göre hazırlıyor.
bu formulde değiştirilmesini istediğim kısım ilk önce D sütununa baksın, eğer burdaki değer değer "F" ise bu listede mutlaka olsun ("B"sunundaki container no eksik bile olsa bu listede olsun)

sonunda bu listenin "genel liste"den farkı;"D" sutunundaki "E" koşulunu ve "B" sutnunundaki "boş" koşulunu aynı anda sağlayanların çıkarılmış olmasıdır
"container no dolu" olanlar için hazırladığım örnek liste ektedir.

Ekli dosyalar
 

Ekli dosyalar

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
En İyi Yanıtlar
0
Beğeniler
0
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
#19
ömer bey merhaba,

inceleyebildiniz mi, bu şekilde formul yazılabilir mi?
 
Katılım
17 Ağu 2018
Mesajlar
39
En İyi Yanıtlar
5
Beğeniler
19
Puanları
8
Konum
Ankara, İstanbul
Ad Soyad
Ömer BARAN
#20
Tekrar merhaba.
Yanlış anlamıyorsam;
-- genel liste isimli sayfa F2 hücresi için önerdiğim formülü aşağıdaki ilk formüldeki gibi değiştirip liste boyunca kopyalayın,
-- Container Dolu Olanlar isimli sayfa A2 hücresi için önerdiğim formülü de aşağıdaki ikinci formül gibi değiştirip BOŞ sonuç elde edinceye kadar kopyalayın.
=EĞER(YADA(B2<>"";D2="F");MAK($F$1:F1)+1;"")
=EĞER(SATIR($A1)>MAK('genel liste'!$F:$F);"";EĞER(KAYDIR('genel liste'!$A$1;KAÇINCI(SATIR($A1);'genel liste'!$F:$F;0)-1;SÜTUN(A$1)-1)=0;"";KAYDIR('genel liste'!$A$1;KAÇINCI(SATIR($A1);'genel liste'!$F:$F;0)-1;SÜTUN(A$1)-1)))
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst Alt