Сложить несколько столбцов в один, не игнорируя пустые ячейки - PullRequest
1 голос
/ 03 февраля 2020

Для стека из нескольких столбцов и фильтрации пустых ячеек @ player0 сказал мне сделать это следующим образом:
{ ссылка }

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

:

A B C D
E F G H
  J K L
  N    

Ожидаемый результат :

A
B
C
D
E
F
G
H

J
K
L

N


Эти пробелы будут необходимы для того, чтобы при записи новых данных в столбцах старые не меняли положение, оставались на том же месте, где они находятся.

Возможно ли это сделать?

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

Но я не смог отрегулировать, чтобы сделать это возможным.

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

вы можете построить на нем, как:

=ARRAYFORMULA(ARRAY_CONSTRAIN(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A:D="", CHAR(9), A:D)),,9^9)),,9^9), " ")), ROWS(A:A), 1))

0

1 голос
/ 03 февраля 2020
  • Требуется выполнить следующую ситуацию.

    • С

      A B C D
      E F G H
        J K L
        N 
      
    • К

      A
      B
      C
      D
      E
      F
      G
      H
      
      J
      K
      L
      
      N
      
  • В вышеприведенном случае вы хотите использовать только значения от A до N. Вы не хотите включать пустые значения после значения N.

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

Модифицированная формула:

=TRANSPOSE(SPLIT(REGEXREPLACE(TEXTJOIN(",",FALSE,A1:D,"#"),",+#",","),",",,FALSE))
  1. Соедините значения «A1: D», используя TEXTJOIN().
  2. Удалите пустые значения после последнего символа, используя REGEXREPLACE().
  3. Разделите значение, используя SPLIT(), из строки в массив.
  4. Транспонируйте массив, используя TRANSPOSE().
Результат:

enter image description here

Ссылки:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...