Aktualizuj listę Excela dynamicznie bez użycia skryptów
Trochę utknąłem i przydałaby mi się pomoc.
Staram się, aby lista w programie Excel była aktualizowana dynamicznie na podstawie warunków w innych komórkach. Coś w stylu (JEŚLI obie wartości komórek w A1 i A2 DOPASUJEMY wartości komórek w A3 i A4, zwracają A5). Idealnie chciałbym używać tylko formuł i żadnych skryptów, ale nie jestem pewien, czy to możliwe.
Oto scenariusz. Gina (A3) ma koszyk z 6 przedmiotami (B3: B8): Cytryna, Pasta do zębów, Brownie, Szczotka do włosów, Winogrona, Kanapka -
Koszyk Giny

Gina i jej przyjaciele lubią handlować między sobą, a kiedy to robią, rejestrują każdą transakcję (D3: F5) -
zapis transakcji

Próbuję dowiedzieć się, jak zaktualizować koszyk zakupów Giny za każdym razem, gdy rejestruje nową transakcję.
Ponadto musi umożliwiać dwukrotną wymianę tego samego przedmiotu (za każdym razem na różne przedmioty), biorąc pod uwagę tylko ostatnie wejście do obrotu dla tego przedmiotu - w tym przypadku otrzymuje pomarańczę w swoim koszyku -
w tym przypadku otrzymuje pomarańczę w swoim koszyku, a nie babeczkę

Próbowałem różnych kombinacji IF, AND, MATCH i INDEX ze zduplikowaną drugą kolumną lub utknąłem w zależnościach cyklicznych i nie mogę dojść do sedna tego.
Oto link do arkusza roboczego: https://docs.google.com/spreadsheets/d/17J-lX2V1Zs-K7WmsfruqcEJtmElM5rCQTeCLFh8FX1U/edit?usp=sharing
Byłbym niezmiernie wdzięczny, gdyby ktoś miał pomysł, jak to rozwiązać!
Dzięki Jimmy
Odpowiedzi
:: Zastrzeżenie ::
Ponieważ OP nie potrzebuje rozwiązania opartego na VBA MACRO, więc w tej sytuacji znalazłem możliwość użycia kilku formuł ARRAY (CSE) i formatowania warunkowego. Być może ten inny może sugerować lepszy.

Jak to działa:
- Przedmioty handlowe i lista sklepów spożywczych są TABELĄ.
Zaraz po dodaniu lub usunięciu nazwy lub pozycji z TABELI program Excel automatycznie zaktualizuje powiązane dane.
Poza koszykiem zakupów i przedmiotami podlegającymi wymianie musisz również utworzyć listę sklepów spożywczych .
Gdy tylko ktoś kupi jakiś przedmiot, musisz ZAKTUALIZOWAĆ stół spożywczy .
Sprawdź listę starych elementów, które kupują GINA i inni.
- Utwórz jedną rozwijaną listę w komórce P17, obecnie ma tylko 3 nazwy, możesz dodać więcej.
Jeśli masz ogromną listę kupujących, aby uzyskać listę unikalną, możesz użyć jednej z formuł.
Formuła tablicowa (CSE) w komórce P28:
{=IFERROR(INDEX($U$17:$U$30, MATCH(0, INDEX(COUNTIF($P$27:P27, $U$17:$U$30)+($U$17:$U$30=""), ), 0)), "")}
W przypadku wyższych wersji możesz użyć tego w P28:
=UNIQUE(FILTER(U17:U30,U175:U30<>""))
Następnie użyj listy kupujących Unikalne użycie dla rozwijanej w komórce P17.
Teraz użyj tej formuły tablicowej (CSE) w komórce Q17:
{=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)),"")}
Formuła tablicowa (CSE) w komórce R17:
{=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)),"")}
Zastosuj formatowanie warunkowe, używając poniższej formuły jako nowej reguły, w pytaniu 17: 25:
=COUNTIF($N$17:$N$22,Q17)=0
NB
Zakończ formułę tablicową (CSE) za pomocą Ctrl + Shift + Enter i wypełnij wymagany kierunek.
Lista nowych przedmiotów zawiera wymienione (sprzedane) przedmioty.
Stara lista zawiera pozycje w kolorze CZERWONYM, są to przedmioty niezmienione, ponieważ GINA kupiła PIĘĆ przedmiotów (sprawdź listę klienta w kolumnie U), a wymieniane tylko DWIE, to awokado i cygara.
Ciągle zmieniaj nazwy w komórce P17, otrzymasz wyniki.
W razie potrzeby dostosuj odwołania do komórek w formule.