Połącz kilka kolumn w jedną w Arkuszach Google

16

wprowadź opis zdjęcia tutaj

Chcę połączyć / połączyć kolumny A, B i C w kolumnę D, jak pokazano.

Liczba wypełnionych wpisów w A, B i C będzie się zmieniać w czasie, więc nie można użyć bezwzględnych adresów komórek.

Jaką formułę mogę umieścić w D1, aby wypełnić kolumnę, jak pokazano?

Paulb
źródło
Wiem, że „append” mogło być lepszym słownictwem niż „concatenate”. Ponieważ konkatenat jest zwykle wykonywany z indywidualnymi wartościami.
Paulb,
1
Być może najlepsza odpowiedź na scalenie do manipulacji statystycznych tutaj, gdzie nie trzeba filtrować tutaj webapps.stackexchange.com/a/69049/66725 Więc po prostu użyj = {A1:A; B1:B}. Itd, aby policzyć unikalne dopasowania w dwóch kolumnach = count(unique(A1:A; B1:B})).
Léo Léopold Hertz -

Odpowiedzi:

9

Musisz przefiltrować do niepustych komórek, a następnie zestawić wyniki razem:

={filter(A:A, len(A:A)); filter(B:B, len(B:B)); filter(C:C, len(C:C))}

To jest to samo, co odpowiedź Grayoba, która niestety jest zakopana pod nieaktualnymi odpowiedziami.

użytkownik79865
źródło
1
Działał idealnie. Widziałem, że Q i bezskutecznie skupiłem się na Vmerge. W tym Q odpowiedź grayoba jest lepsza niż odpowiedź zaakceptowana. Tks.
Paulb,
14

Krótsza wersja formuły w tej drugiej odpowiedzi

=FILTER({A:A;B:B;C:C}, LEN({A:A;B:B;C:C}))
Rubén
źródło
3

Trochę dłużej, ale można ograniczyć do ograniczonej tablicy (nie do całych kolumn):

=transpose(split(textjoin("|",1,{A1:C4}),"|"))

gdzie kolejność nie ma znaczenia. Gdzie to robi:

=transpose(split(textjoin("|",1,{A1:A4;B1:B4;C1:C4}),"|"))
orzechy
źródło
To moje ulubione rozwiązanie tego problemu, nie wymaga nazywania wszystkich kolumn. Możesz także wykonać SORT dla pierwszego rozwiązania, w którym ma być ono alfabetycznie.
Lou