Объедините диапазон из нескольких листов в один столбец по порядку (сверху, снизу, слева, справа).

#google-sheets

Вопрос:

Я нашел несколько отличных формул на этом сайте, но я не могу понять, как упорядочить мои значения сверху вниз и слева направо. У меня есть следующая формула:

 =TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE(TRANSPOSE(CONCATENATE({(Sheet1!A1:Z100amp;"-");(Sheet2!A1:Z100amp;"-")})))),"-"))
 

Он отлично справляется с регистрацией каждого значения в одну колонку, но он читается слева направо, и это сводит меня с ума, когда я вижу, что это не в моем желаемом порядке! Есть ли способ перестроить это? Я обнаружил, что следующая формула сохраняет его в нужном мне порядке, но я не могу объединить несколько строк с транспонированием.

 =TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE(TRANSPOSE(Sheet1!A1:Z100amp;"-"))),"-"))
 

Ссылка на лист.

Лист 1

введите описание изображения здесь

Лист 2

введите описание изображения здесь

Итоговый лист

введите описание изображения здесь

Комментарии:

1. У вас есть и google-sheets то, и другое, и excel-formula как теги. Это два совершенно разных приложения. Пожалуйста, выберите один из них и отредактируйте свой пост, чтобы отразить это изменение.

2. Обновленный. Они похожи на меня, но это потому, что я пришел из Excel и только начал изучать синтаксис листов, и как он сильно отличается, как вы предположили.

Ответ №1:

Попробуй это:

=ArrayFormula({"Header";QUERY({FLATTEN(TRANSPOSE(Sheet1!A:B));FLATTEN(TRANSPOSE(Sheet2!A:B))},"Select * WHERE Col1 Is Not Null")})