Объединение двух или более «списков» в столбцах? - PullRequest
1 голос
/ 02 апреля 2020

Попытка найти способ объединения нескольких списков при сохранении порядка, в котором находятся элементы, справа налево, затем сверху вниз.

Пример:

A B C
D E
F
G H

должно стать:

A
B
C
D
E
F
G
H

, а не

A
D
F
G
B
E
H
C

Я нашел бесчисленное множество сайтов с людьми, объясняющими, как я могу просто прикрепить один список к концу предыдущий (как показано в примере «а не»), но это именно то, что я ищу , а не .

Потенциальные повторяющиеся записи не имеют значения.

Пример редактируемого листа здесь.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

, в то время как предыдущий ответ может работать для небольшого набора данных:

=TRANSPOSE(SPLIT(TEXTJOIN("♦", 1, G3:I), "♦"))

0


, если вы получили огромный набор данных и textjoin должен вывести ошибку предела Вы можете использовать этот безграничный подход:

=INDEX(QUERY(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(G3:G="",,"♦"&G3:I&"♦")),,99^99)),,99^99), "♦")),
 "where not Col1 starts with ' '", 0),,1)

enter image description here

0 голосов
/ 02 апреля 2020

Как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Пример формулы:

=TRANSPOSE(SPLIT(TEXTJOIN(",",TRUE,A3:C28),","))
  • В этом случае ваша общая таблица используется в качестве значений выборки.
  • Из вашего «Желаемого результата» в вашей общей электронной таблице я подумал, что вы используете диапазон «A3: C28». Если вы хотите использовать диапазон «A3: C29», измените приведенную выше формулу.

  • Поток выглядит следующим образом.

    1. Все значения преобразованы в строка, использующая TEXTJOIN.
      • В этом случае , используется в качестве разделителя. Если , включено в значения, пожалуйста, измените это.
    2. Строковое значение делится для помещения в каждую ячейку, используя SPLIT.
    3. Значение транспонируется с использованием TRANSPOSE.

Результат:

В этом примере формула помещается в ячейку "F3".

enter image description here

Примечание:

  • Если вы хотите удалить дублирующиеся значения, используйте UNIQUE, например =UNIQUE(TRANSPOSE(SPLIT(TEXTJOIN(",",TRUE,A3:C28),","))).

Справочные материалы:

Если я неправильно понял ваш вопрос, и это был не тот результат, которого вы хотите, я прошу прощения.

...