Укладка нескольких столбцов на один?
Я использую Google SpreadSheet, и я пытаюсь иметь несколько листов, содержащих список слов. На последнем листе я хотел бы создать сводный список, который представляет собой комбинацию всех значений в столбце. Я получил его сортировку, используя = CONCATENATE(), но превратил ее в строку. Любой способ сохранить его как список столбцов?
Вот пример столбцов:
Лист1
Sheet2
FinalSheet
- яблоко
- оранжевый
- банан
- ананаса
- клубника
- персик
Ответы
Ответ 1
Обновленный ответ
Я был прав, есть гораздо лучшее решение. Он был опубликован ниже, но я копирую его здесь, чтобы он был в верхнем ответе:
=unique({A:A;B:B})
Предостережение. Это будет включать одну пустую ячейку в определенных сценариях (например, если она есть в конце первого списка).
Если вы не заинтересованы в заказе и пустой пустой ячейке, простой sort()
очистит вещи:
=sort(unique({A:A;B:B}))
В противном случае a filter()
может удалить пробелы следующим образом:
=filter(unique({A:A;B:B}),NOT(ISBLANK(unique({A:A;B:B}))))
Ниже приведен старый неактивный ответ
Я уверен, что это "Неправильный способ сделать это", поскольку это кажется такой абсурдно простой и общей задачей, что я чувствую, что мне что-то не хватает, поскольку оно не должно требовать такого переполненного решения.
Но это работает:
=UNIQUE(TRANSPOSE(SPLIT(JOIN(";",A:A,B:B),";")))
Если ваши данные содержат какие-либо ';' персонажи, вам, естественно, нужно будет изменить разделитель.
Ответ 2
Вы можете использовать это:
=unique({A1:A;B1:B})
Прекрасно работает здесь!
Ответ 3
Гораздо проще:
={sheetone!A2:A;sheettwo!A2:A}
Ответ 4
Функция unique()
избавляется от пробелов, но для меня это не помогает, потому что некоторые из моих строк повторяются. Вместо этого я сначала фильтрую столбцы на len()
, чтобы удалить пустые ячейки. Затем я совмещаю столбцы одинаково.
={filter(A:A, len(A:A)); filter(B:B, len(B:B))}
Ответ 5
Основной способ - это просто сделать это как массивы
={A1:A10;B1:B10...etc}
Проблема с этим методом, как я выяснил, заключается в том, что его очень много времени, если у вас много столбцов.
Я сделал несколько поисков и нашел эту статью:
Объединение нескольких столбцов в одну сортированную колонку в таблицах Google
Формула ядра
=transpose(split(arrayformula(concatenate(if(len(A:Z)>0,A:Z&";",""))),";"))
Очевидно, вы заменили A: Z на любой диапазон, который вы хотите использовать.
И если вы хотите сделать некоторую сортировку или удаление дубликатов, вы просто оберните приведенную выше формулу в методе SORT()
и/или UNIQUE()
, например.
=sort(unique(transpose(split(arrayformula(concatenate(if(len(A:Z)>0,A:Z&";",""))),";"))))
Надеюсь, это поможет.
Счастливое кодирование всех:)
Ответ 6
функция VMerge отлично справилась со мной (после установки script). В отличие от творческого ответа на озеро, он поддерживает несколько столбцов.
VMerge очень похож на SQL UNION
.
=VMerge(A:A,B:B)
В моем случае я использовал его с более продвинутыми манипуляциями, такими как выполнение объединения подтабликов с того же листа:
a b g h
c d i j
e f k l
=VMerge(A:B,C:D)
дает
a b
c d
e f
g h
i j
k l
Ответ 7
Попробуйте использовать аргумент CONCATENATE с помощью
=ArrayFormula(EXPAND(...))