Wybierz swój język

Jak za pomocą arkusza kalkulacyjnego analizować dane zebrane np. z wywiadów indywidualnych.


Jest to alternatywa dla programów takich jak MAXQDA. Zamiast dedykowanego programu można wykorzystać do analizy danych arkusz kalkulacyjny.
Może być to Google Sheets lub Microsoft Excel. Do tego posłużą tabela i kilka oddzielnych arkuszy, w których będą gromadzone informacje.
Pokażę też, jak połączyć wszystkie elementy. Czyli jak zrobić tabelę, która będzie zbierała wszystkie wystąpienia tekstu do danego tagu/tagów. Mogą być np. dwa tagi dotyczące danego tekstu.

Działanie arkusza

Możemy wyświetlić odpowiedzi wybranego respondenta. Czyli np. potrzebujemy zobaczyć, co powiedział respondent nr 2?

Wybieramy respondenta nr 2 i widzimy tylko wypowiedzi tej osoby.

002 wynik filtracji respondent 2

Możemy np. wyszukać wypowiedź w tekstach.

003 szukanie po tekście
Możemy też użyć CTRL+F, jednak, że wtedy będzie szukać po wszystkich komórkach w arkuszu.
Możemy skorzystać z filtra i np. wpisać "praca" i zaznaczyć tylko te wypowiedzi, które mają w swoim tekście wyrażenia związane z pracą.

004 wynik filtracji po słowie ‘prac’ w kolumnie teksty


Możemy też filtrować po kodzie. Czyli np. tagi dotyczące tylko technologii.

006 filtracja po kodzie

Mamy poszczególnych respondentów i teksty dotyczące technologii.

006 analiza idi wyniki po filtracji kodem
W arkuszu Kody są zebrane wszystkie unikalne kody z dwóch kolumn Kod 1 i Kod 2. Możemy dzięki temu w szybki sposób zobaczyć listę kodów oraz sprawdzić, czy gdzieś nie ma literówki lub podobnie nazywających się kodów.

007 arkusz Kody lista unikalnych kodów

W arkuszu KodyTeksty umieszczone są w poziomie unikalne kody z kolumny Kod 1 i Kod 2 arkusza dane. Pod każdym kodem jest lista pasujących do niego tekstów.

008 arkusz KodyTeksty lista unikalnych kodów

Dane tekstowe można kopiować np. do Murala, jako karteczki. Z Murala do Google Sheets, jako komórki. Teksty w arkuszu dotyczące pokolenia Z pochodzą z Wikipedii.

Poniżej znajduje się film pokazujący, jak przygotować arkusz. Pod filmem dalsza część artykułu.

Przygotowanie arkusza Dane

Pokażę, jak zrobić od początku taki arkusz. Tworzę nowy. Mogę od razu nadać nazwę, np. pokolenie Z.
Wpisuję nagłówki: tabeli respondent, tekst, kod 1, kod 2, notatki.

009 analiza idi arkusz Dane nagłówek

Najlepiej przygotować arkusz w Google Chrome, ponieważ niektóre funkcje mogą nie działać w innych przeglądarkach. Taką funkcją jest obecnie np. Convert to table.
Wybieramy: Format -> Convert to table.

010 analiza idi arkusz Dane tabela z nagłówkami

Wklejam przygotowane teksty. Przypisuję losowo respondentów Res-01, Res-02, Res-03 poprzez =RAND().

011 analiza idi arkusz Dane respondenci i liczby losowe

Wybieramy Data -> Sort range -> Advanced range sorting options. Wybieram kolumnę H, w której są liczby losowe. Tym sposobem powstała kolumna respondentów rozmieszczona losowo.

012 analiza idi arkusz Dane tabela respondenci rozmieszczeni losowo

Wklejam je do tabeli (CTRL + C i CTRL + V). Mamy już wprowadzone wypowiedzi, mamy respondentów. Teraz dopisuję do nich kody.

013 analiza idi arkusz Dane tabela przypisywanie kodów

Są tam też dłuższe teksty można, więc wybrać: format i zawijanie. Format -> Wrapping -> wrap.

Lista unikalnych tagów

Mamy już gotową tabelę z danymi. Jeszcze nadam nazwę dla arkusza Dane oraz dla tabeli np. PokolenieZ.
Kolejna rzecz to zrobienie listy wszystkich unikalnych kodów. Dzięki takiej liście mamy cały czas dostęp do tagów. Lista kodów posłuży później do budowania kolejnego arkusza łączącego tagi i teksty (arkusz TagiTeksty).
Tworzę kolejny arkusz, nazwę go Kody. Teraz będę chciał mieć na początku unikalną listę, czyli niepowtarzające się nazwy, które występują w kodzie pierwszym - kod 1. Do tego służy funkcja UNIQUE().
W A1 wpisujemy {codeprettify}=UNIQUE(Dane!C:C){/codeprettify}
Wybieramy zakres, czyli kolumna C gdzie jest Kod 1 w arkuszu Dane.

014 analiza idi arkusz lista unikalnych kodów kolumna kod1

Teraz trzeba żeby tagi były pobierane z dwóch kolumn Kod 1 i Kod 2 (kolumna C i D arkusza Dane). Do tego służy funkcja VSTACK().
Umieszczamy VSTACK() w funkcji UNIQUE().
{codeprettify}=UNIQUE(VSTACK(Dane!C:C, Dane!D:D)){/codeprettify}

015 analiza idi arkusz kody lista unikalnych kodów kolumna kod1 kod2

Żeby nie było pustego miejsca (pustej komórki) w liście można użyć funkcji FILTER()
{codeprettify}=UNIQUE(VSTACK(filter(Dane!C:C,Dane!C:C<>""), filter(Dane!D:D, Dane!D:D<>""))){/codeprettify}
Teraz trzeba zrobić tak, żeby nie było jeszcze tych kodów - Kod 1 i Kod 2, które są nagłówkami tabeli.
Trzeba zrobić, żeby nie zaczynał od początku kolumny, tylko od drugiego wiersza. W przypadku Kod 1 od C2, dla Kod 2 od D2.
{codeprettify}=UNIQUE(VSTACK(filter(Dane!C2:C,Dane!C2:C<>""), filter(Dane!D2:D, Dane!D2:D<>""))){/codeprettify}

Dla wygody możemy listę z kodami posortować alfabetycznie.
Do sortowania jest funkcja SORT(). Bierzemy całe wyrażenie. Na początku dajemy SORT().
Funkcja w parametrach wymaga, po której kolumnie (1) oraz czy alfabetycznie rosnąco - TRUE.
{codeprettify}=SORT(UNIQUE(VSTACK(filter(Dane!C2:C, Dane!C2:C<>""),filter(Dane!D2:D, Dane!D2:D <>"" ))), 1, TRUE){/codeprettify}

016 analiza idi arkusz lista unikalnych tagow bez odstępu kod1 kod2

Zebranie wszystkiego razem, czyli kody plus pasujące teksty. Arkusz KodyTeksty.

Teraz czas na ostatni arkusz, w którym będą kody i pasujące do nich teksty.

Tworzę kolejny arkusz, nazywam go "KodyTeksty". Przyda się formuła, która była wcześniej w arkuszu Kody.
{codeprettify}=SORT(UNIQUE(VSTACK(filter(Dane!C2:C, Dane!C2:C<>""),filter(Dane!D2:D, Dane!D2:D <>"" ))), 1, TRUE){/codeprettify}

Potrzebujemy, żeby lista kodów była w poziomie (nie w pionie jak w arkuszu Kody).
Do tego użyjemy TRANSPOSE().
{codeprettify}=TRANSPOSE(SORT(UNIQUE(VSTACK(filter(Dane!C2:C, Dane!C2:C<>""),filter(Dane!D2:D, Dane!D2:D <>"" ))), 1, TRUE)){/codeprettify}

017 analiza idi arkusz lista unikalnych tagow bez odstępu kod1 kod2

Teraz będę pobierać nazwy poszczególnych tagów i szukać, które pasują do tych, które są w tabeli z arkusza Dane.

Dla każdego tagu, które są w pierwszym wierszu będziemy szukali, jakie są do nich teksty.
Czyli np. kontakty-społeczne i wyszukiwali, które teksty do nich pasują (kontakty-społeczne występujące w Kod 1 lub w Kod 2).
Czyli np. kontakty-społeczne i wyszukiwali, które teksty do nich pasują (kontakty-społeczne występujące w Kod 1 lub w Kod 2).
Najpierw zrobimy to tylko dla tej kolumny Kod 1 (kolumna C). Za pomocą funkcji FILTER().
{codeprettify}FILTER(Dane!$B:$B, Dane!$C:$C=A1){/codeprettify}
Na razie pojawią się tylko teksty, których tagi występują w kodzie pierwszym (kolumna Kod 1 arkusz Dane). Można formułę rozszerzyć, żeby obejmowała dwie kolumny Kod 1 i Kod 2.
Do połączenia filtrowania z dwóch kolumn służy „+”
Po wpisaniu zmienionej formuły dojdą nowe teksty do niektórych tagów.

018 analiza idi arkusz KodyTeksty lista tekstów pasujących z obu kolumn

Obecna formuła działa również tam, gdzie w wierszu 2 nie ma kodu – jest to błąd. Wyszukuje puste miejsce w arkuszu Dane w kolumnach Kod 1 i Kod 2 i wstawia listę tekstów. Żeby to zniwelować trzeba użyć funkcji IF().
{codeprettify}=IF(A1<>"", FILTER(Dane!$B:$B, (Dane!$C:$C=A1)+(Dane!$D:$D=A1)), ""){/codeprettify}
Jeżeli w kolumnie A znajduje się wartość różna od pustej to wykonaj filtrowanie. Jeżeli nie, to wstaw puste.

019 analiza idi arkusz KodyTeksty lista tekstow pasujących z obu kolumn bez pustego miejsca

Moim zdaniem jest to dobre rozwiązanie do analizy danych. Nie tylko danych z wywiadów, lecz także innych rodzajów danych, które gdzieś zbieramy i chcemy w jakiś sposób przetworzyć. Rozwiązanie jest darmowe. Arkusz można współdzielić i wspólnie edytować w zespole.

 

Krzysztof Król