Zwróć niepuste pliki cookie i policz

0

Mam dwa arkusze w swoim skoroszycie. Pierwszy arkusz ma tytuł SalesPerson i powinien zawierać podsumowanie sprzedawcy wpisanego w komórce B1 oraz rodzaj i liczbę sprzedanych plików cookie. Układ jest taki:
Nazwa: George
Pliki cookie sprzedane: Ilość:

Następnie mam drugi arkusz roboczy o nazwie Dane sprzedaży, który pokazuje każdego sprzedawcę i rodzaj plików cookie oraz liczbę, którą sprzedał. Układ jest taki

.......Choc Chip....Vanilla....Lemon....etc
George  4            12          0
Bob                   3
Jerry                 4          1


Powiedzmy na przykład, że w komórce B1 została wpisana nazwa George, pod nagłówkami Sprzedane pliki cookie i Ilość (które zaczynają się od A3 i B3) Chciałbym zwrócić poniżej

Choc Chip     4
Vanilla       12

Czy istnieje formuła programu Excel, która może to zrobić? Mógłbym użyć VLOOKUPmetody łączonej, Index(Match())jeśli SalesPerson zawierał wszystkie możliwe pliki cookie i po prostu sprawdził liczbę sprzedanych plików, ale ponieważ nie ma takiej opcji, muszę zwrócić OBIE ciasteczka i liczbę, gdzie liczba> = 1 do mojego arkusza SalesPerson ?

Zastanawiałem się nad użyciem, PIVOT TABLEale to po prostu pomaga pogłębić dane, nie zwracać danych do arkusza SalesPerson, a także zastanawiałem się nad użyciem tej VLOOKUP()funkcji, ale mogłem tylko uzyskać tę wartość, aby zwrócić jedną wartość, a nie oba typy kulek i liczba.

EDYCJA
Mógłbym użyć, =INDEX(A1:D6, 4, 3)aby zwrócić liczbę, ale jak mogę w tym samym momencie zwrócić ciasto?


Wiem, że to INDEX()MATCH()MATCH()działa, gdy masz zarówno weryfikacyjne, jak i poziome wartości wyszukiwania, ale czy można to przetransponować, aby zwrócić wartość poziomą, a także wartość zwracaną?

użytkownik2676140
źródło
Czego próbowałeś do tej pory i jaki był wynik? Czy zastanawiałeś się nad użyciem stołu przestawnego?
CharlieRB,
@CharlieRB - zobacz moją edycję. Tak, próbowałem tabeli przestawnej, a także korzystałem z VLOOKUP (), ale bez powodzenia.
user2676140,
Czy możesz uzyskać formułę indeksu, aby zwracać ciasto osobno?
BruceWayne
@BruceWayne - działałoby tak długo, jak mogę zapewnić, że zwracane są tylko ciasta z liczbą> = 1 ORAZ ciasto jest ustawione zgodnie z prawidłową liczbą
2676140

Odpowiedzi:

2

Najpierw pobierzmy listę ciasteczek. Musimy użyć formuły tablicowej. Moje przejście do formuły w tym przypadku to AGGREGATE () wewnątrz INDEKSU. Umieszczam „George” w A8 z danymi w A1: D4:

=IFERROR(INDEX($B$1:$D$1,AGGREGATE(15,6,(COLUMN($B$2:$D$4)-1)/(($A$2:$A$4=$A$8)*($B$2:$D$4<>0)*($B$2:$D$4<>"")),ROW(1:1))),"")

Następnie skopiowałem tę formułę w dół wystarczającej liczby wierszy, aby uwzględnić wszystkie możliwe długości list.

Następnie użyłem standardowego INDEX / MATCH / MATCH, aby znaleźć liczby:

=IF(A9<>"",INDEX($A:$D,MATCH($A$8,$A:$A,0),MATCH($A9,$1:$1,0)),"")

I ponownie skopiowałem to w dół o tę samą liczbę rzędów.

wprowadź opis zdjęcia tutaj

Scott Craner
źródło
To działa idealnie! Co oznacza 15,6 wewnątrz agregatu?
user2676140
1
AGGREGATE to agregat wielu formuł, pierwsza liczba 15to SMALL (). 6Informuje go, aby pominąć wszelkie błędy, które chcemy, bo przez podzielenie przez zestaw Boolean, jesteśmy zmuszając błędu # DIV0 dla tych wartości nie chcemy. @ user2676140
Scott Craner