Komut dosyası kullanmadan bir excel listesini dinamik olarak güncelleme

Aug 15 2020

Biraz sıkıştım ve biraz yardıma ihtiyacım var.

Excel'deki bir listeyi, diğer hücrelerdeki koşullara göre dinamik olarak güncellenen tutmaya çalışıyorum. Satırları boyunca bir şey (A1 ve A2'deki her iki hücre değeri A3 ve A4'teki hücre değerleriyle eşleşirse, A5 döndürür) İdeal olarak sadece formüller kullanmak istiyorum ve komut dosyası kullanmam ama mümkün olup olmadığından emin değilim.

İşte bir senaryo. Gina (A3), içinde 6 öğe olan bir alışveriş sepetine sahiptir (B3: B8): Limon, Diş Macunu, Brownie, Saç Fırçası, Üzüm, Sandviç -

Gina'nın Sepeti

Gina ve arkadaşları birbirleriyle ticaret yapmayı severler ve yaptıklarında her ticaretin kaydını tutarlar (D3: F5) -

ticaret kaydı

Yapmaya çalıştığım şey, Gina'nın her yeni takası kaydettiğinde alışveriş sepetini nasıl güncelleyeceğimi bulmak.

Ayrıca, aynı ürünün iki kez takas edilmesine izin vermesi gerekir (her seferinde farklı öğeler için), yalnızca o öğe için takas edilen en son girişi hesaba katmalıdır - bu durumda sepetinde bir turuncu alır -

bu durumda sepetine bir portakal almıyor, kek değil

Yinelenen ikinci sütuna sahip çeşitli IF, AND, MATCH ve INDEX kombinasyonlarını denedim veya döngüsel bağımlılıklarda sıkışıp kaldım ve altına inemiyorum.

İşte çalışma sayfasına bir bağlantı: https://docs.google.com/spreadsheets/d/17J-lX2V1Zs-K7WmsfruqcEJtmElM5rCQTeCLFh8FX1U/edit?usp=sharing

Bunun nasıl çözüleceğine dair herhangi bir fikri olan varsa, çok minnettar olurum!

Teşekkürler Jimmy

Yanıtlar

1 RajeshS Aug 16 2020 at 15:12

:: Uyarı ::

OP'nin VBA MAKRO tabanlı çözüme ihtiyacı olmadığı için, bu koşullarda bulduğum olasılık, birkaç ARRAY (CSE) formülü ve Koşullu Biçimlendirme kullanıyor. Muhtemelen, diğeri daha iyisini önerebilir.


Nasıl çalışır:

  • İşlem Gören Ürünler ve Bakkal Listesi TABLEDİR.

TABLE'den Ad veya Öğe eklediğinizde veya çıkardığınızda, Excel otomatik olarak ilgili verileri güncelleyecektir.

  • Dışında Alışveriş Sepeti & Yatırım Öğeler , oluşturmanız gereken Grocer en Listesini de.

  • Birisi herhangi bir Öğe alır almaz, Bakkal Masasını GÜNCELLEMELİSİNİZ .

GINA ve diğerleri tarafından satın alınan Eski Öğeler listesine bakın.

  • P17 hücresinde bir açılır liste oluşturun, şu anda yalnızca 3 adı var, daha fazlasını ekleyebilirsiniz.

Çok sayıda alıcı listeniz varsa, Benzersiz liste almak için formüllerden birini kullanabilirsiniz.

  • P28 hücresindeki bir dizi (CSE) formülü:

     {=IFERROR(INDEX($U$17:$U$30, MATCH(0, INDEX(COUNTIF($P$27:P27, $U$17:$U$30)+($U$17:$U$30=""), ), 0)), "")}
    
  • Daha yüksek sürümler için bunu P28'de kullanabilirsiniz:

    =UNIQUE(FILTER(U17:U30,U175:U30<>""))

Ardından P17 hücresindeki Açılır menü için Benzersiz kullanım alıcıları listesini kullanın.

  • Şimdi bu dizi (ÖAM) formülünü S17 hücresinde kullanın:

    {=IFERROR(INDEX($T$17:$T$30, SMALL(IF(COUNTIF($P$17, $U$17:$U$30)*COUNTIF($U$17:$U$30,"<>"), ROW($T$17:$U$30)-MIN(ROW($T$17:$U$30))+1), ROW(A1)), COLUMN(A1)),"")}
    
  • R17 hücresindeki bir dizi (CSE) formülü:

    {=IFERROR(INDEX($N$17:$N$22, SMALL(IF(COUNTIF($P$17, $L$17:$L$22)*COUNTIF($N$17:$N$22,"<>"), ROW($L$17:$N$22)-MIN(ROW($L$17:$N$22))+1), ROW(A1)), COLUMN(A1)),"")}
    
  • Aşağıda gösterilen formülü Yeni Kural olarak kullanarak S17: S25'te Koşullu biçimlendirmeyi uygulayın:

    =COUNTIF($N$17:$N$22,Q17)=0


NB

  • Ctrl + Shift + Enter ile dizi (CSE) formülünü tamamlayın ve gerekli yönü doldurun.

  • Yeni Öğenin listesi, takas edilen (Takas edilen) öğeleri gösterir.

  • Eski listede KIRMIZI öğeler var, değiştirilmemiş öğelerdir, çünkü GINA tarafından satın alınan BEŞ öğe (U Sütunundaki Müşteri listesini kontrol edin) ve takas edilen sadece İKİ, Avokado ve Purolardır.

  • P17 hücresindeki Adları değiştirmeye devam edin, sonuç alırsınız.

  • Formüldeki hücre referanslarını gerektiği gibi ayarlayın.