Подтвердить что ты не робот

Укладка нескольких столбцов на один?

Я использую Google SpreadSheet, и я пытаюсь иметь несколько листов, содержащих список слов. На последнем листе я хотел бы создать сводный список, который представляет собой комбинацию всех значений в столбце. Я получил его сортировку, используя = CONCATENATE(), но превратил ее в строку. Любой способ сохранить его как список столбцов?

Вот пример столбцов:

Лист1

  • яблоко
  • оранжевый
  • банан

Sheet2

  • ананаса
  • клубника
  • персик

FinalSheet

  • яблоко
  • оранжевый
  • банан
  • ананаса
  • клубника
  • персик
4b9b3361

Ответ 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(...))