Wartości tekstowe w tabeli przestawnej?

2

Mam tabelę (w MySQL) z 3 kolumnami:

Location    Category     Supplier

   A        Computers    Company X
   A        Printers     Company Y
   B        Computers    Company X
   B        Printers     Company Y
   B        Software     Company Y
   C        Computers    Company Y
   C        Software     Company Z

Teraz muszę zrobić matrycę zawierającą powyższe informacje, takie jak to:

       Computers      Printers       Software

A      Company X      Company Y
B      Company X      Company Y      Company Y
C      Company Y                     Company Z

W końcu muszę to mieć w programie Excel.

W rzeczywistości mam zmienną liczbę kategorii, więc robienie tego w MySQL z łączeniem dla każdej kolumny nie jest dobrą opcją. Mógłbym napisać funkcję w PHP, ale zastanawiałem się, czy istnieje bardziej eleganckie rozwiązanie.

Szukałem tabel przestawnych w programie Excel, ale wydają się one odpowiednie tylko dla liczb jako wartości. Ale może coś pomijam, ponieważ sam nigdy nie pracuję z programem Excel.

Dylan
źródło
Dokładny duplikat w przepełnieniu stosu. Powinieneś zapytać tylko w jednym miejscu.
DavidEG
Przepraszam, zdałem sobie sprawę, zaraz po opublikowaniu na stackoverflow, że tak naprawdę nie jest to pytanie programistyczne, więc też tutaj je umieściłem
Dylan

Odpowiedzi:

2

Nie wiem, czy jest to tak „eleganckie”, jak się spodziewałeś, ale jesteś na dobrej drodze z pomysłem tabeli przestawnej. Musisz tylko trochę oszukać. „Kolumna pomocnika”, tabela przestawna i funkcja „vlookup” mogą być tutaj Twoimi przyjaciółmi.

Najpierw do oryginalnych danych dodaj kolumnę pomocniczą dla „DostawcaNumer”. Firma X = 1, Firma Y = 2, Firma Z = 3. Ustawiam kolumnę pomocnika jako pierwszą kolumnę, aby ułatwić jej użycie w późniejszym czasie w vlookup. Uwaga: dane znajdują się teraz w komórkach A5: D11.

wprowadź opis zdjęcia tutaj

Następnie przestaw dane w ten sposób. Użyłem opcji „klasyczny układ tabeli przestawnej” w zakładce „Wyświetlanie” okna dialogowego „Opcje tabeli przestawnej” (kliknij prawym przyciskiem myszy tabelę przestawną, aby wyświetlić to okno dialogowe).

wprowadź opis zdjęcia tutaj

Wybierz i skopiuj całą tabelę przestawną, a następnie „wklej specjalne / wartości” w innym miejscu z boku oryginalnej tabeli przestawnej. Następnie w treści kopii tabeli wprowadź pokazaną formułę. Zauważ, że formuła vlookup odnosi się z powrotem do oryginalnej tabeli przestawnej (odniesienie „H7” - patrz poprzedni schemat), a także do zakresu A5: D11 wspomnianego wcześniej.

wprowadź opis zdjęcia tutaj

Jak powiedziałem, nie jest elegancki, ale działa. Jest wielu inteligentnych ludzi, którzy przeglądają tę stronę, którzy prawdopodobnie znajdą dla ciebie „eleganckie” rozwiązanie!

F106dart
źródło
0

Doszedłem do wniosku, że można całkowicie uniknąć tabeli przestawnej. Zobacz zrzut ekranu poniżej. Użyj kolumny pomocniczej. Zdefiniuj pokazane nazwane zakresy. Ustaw swój układ jak w G14: J18. W treści tabeli użyj WYSZUKAJ.PIONOWO z SUMPRODUCT.

wprowadź opis zdjęcia tutaj

F106dart
źródło