Çö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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
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.
 

özay

Yeni Üye
Katılım
13 Ara 2018
Mesajlar
18
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
merhaba,

örnek dosya ektedir.
 

Ekli dosyalar

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,090
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
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,090
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
Bu kodları kullanabilirsiniz. (y)
PHP:
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
PHP:
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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
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,090
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
Ş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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
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,090
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
merhaba,

formul ile ilave koşulu sağlanabilir mi?
 

Admin

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,090
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
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,090
Puanları
113
Konum
İstanbul
Web sitesi
www.excelarsivi.com
Ad Soyad
Excel Arşivi
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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
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

Ömer BARAN

Uzman
Katılım
17 Ağu 2018
Mesajlar
39
Puanları
8
Konum
Ankara, İstanbul
Ad Soyad
Ömer BARAN
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:
PHP:
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
PHP:
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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
Ö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
Puanları
1
Yaş
37
Ad Soyad
Özay Demirel
ömer bey merhaba,

inceleyebildiniz mi, bu şekilde formul yazılabilir mi?
 

Ömer BARAN

Uzman
Katılım
17 Ağu 2018
Mesajlar
39
Puanları
8
Konum
Ankara, İstanbul
Ad Soyad
Ömer BARAN
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