Как удалить пустые ячейки и сдвинуться вверх в Google Sheets? - PullRequest
1 голос
/ 27 апреля 2020

Есть ли способ удалить пустые ячейки в заданном диапазоне и переместить столбец до нужного экрана, как показано ниже? Самым близким, что я получил, был

=ARRAYFORMULA({A1:C1; TRANSPOSE(SPLIT(TRANSPOSE(QUERY(A2:C,,999^99)), " "))})

, который удаляет пустые ячейки, но разбивает имена и фамилии на отдельные ячейки, которых я не понял, как избежать. Pfa подготовленный образец текущего и желаемого дисплеев:

Текущий дисплей

Желаемый дисплей

1 Ответ

2 голосов
/ 27 апреля 2020

Я новичок в этом, но я придумал немного грубого метода, который может вам помочь.

={
 {(A1:C1)};
 {FILTER(A2:A100,A2:A100<>"");indirect("N1:N" & 100-counta(A2:A100))},
 {FILTER(B2:B100,B2:B100<>"");indirect("N1:N" & 100-counta(B2:B100))},
 {FILTER(C2:C100,C2:C100<>"");indirect("N1:N" & 100-counta(C2:C100))}}

Предполагая, что ваш блок данных находится в столбцах A1: C100, эта формула фильтрует пустые ячейки из каждого отдельного столбца, а затем дополняет каждый столбец пустыми ячейками внизу, чтобы сделать три массива равными по длине / размеру.

Обратите внимание, что в "100-countta (...", ожидаемая максимальная длина вашего столбца данных - 100. Это может быть вычислено и должно быть одинаковым для всех трех столбцов.

Обратите также внимание, что первый массив является горизонтальным (заканчивается точкой с запятой), а затем три столбца, сложенные рядом друг с другом (заканчиваются запятой).

Вот рабочий пример. https://docs.google.com/spreadsheets/d/1MGaqqGrkmIliuAzEqxPtdEVZXWPN2K5W7jFFM-ZnwgE/edit?usp=sharing

Если я что-то пропустил, вы были пытаясь достичь, дайте мне знать.

Кроме того, я уверен, что есть более элегантный способ сделать это, или другой, не требующий использования блока «зарезервированных» пустых ячеек, но я не мог не думаю об этом в данный момент.

Редактировать: Формула следующим образом также работает. Но вы должны помнить, что значение «100» должно быть равно количеству строк в вашем блоке данных, поскольку мы удаляем столбцы с необходимым количеством пустых строк после удаления пустых ячеек в каждом столбце.

={
 {(A1:C1)};
 {FILTER(A2:A,A2:A<>"");indirect("N1:N" & 100-counta(A2:A))},
 {FILTER(B2:B,B2:B<>"");indirect("N1:N" & 100-counta(B2:B))},
 {FILTER(C2:C,C2:C<>"");indirect("N1:N" & 100-counta(C2:C))}}
...