Google Sheet один столбец "исправлено, остальные транспонировать - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь сделать следующее без использования Google-скрипта.

У меня есть этот лист (A):

The data I have

И я хочу, чтобы лист (B) автоматически обновлялся каждый раз, когда лист (A) изменяется.

Что я пытаюсь получить на листе (B):

enter image description here

Большое спасибо заранее.

Ответы [ 2 ]

1 голос
/ 12 января 2020

Спасибо, что поделились листом. Эта формула находится в A2 на новой вкладке под названием MK.Help.

=ARRAYFORMULA(VLOOKUP(SEQUENCE(COUNTA('sheet 1'!A2:A)*4;1;0)/4+2;{ROW('sheet 1'!A2:A)\'sheet 1'!A2:A\'sheet 1'!B2:E\IF(ROW('sheet 1'!A2:A);'sheet 1'!B1:E1)};MOD(SEQUENCE(COUNTA('sheet 1'!A2:A)*4;1;0);4)*{0\1\1}+{2\3+4\3}))

Это решение рассчитано на 4 колонки. В вашем случае нет пустых ячеек, но если бы они были, вы бы использовали запрос вокруг решения, такой как:

=ARRAYFORMULA(QUERY(VLOOKUP(SEQUENCE(COUNTA('sheet 1'!A2:A)*4;1;0)/4+2;{ROW('sheet 1'!A2:A)\'sheet 1'!A2:A\'sheet 1'!B2:E\IF(ROW('sheet 1'!A2:A);'sheet 1'!B1:E1)};MOD(SEQUENCE(COUNTA('sheet 1'!A2:A)*4;1;0);4)*{0\1\1}+{2\3+4\3});"where Col2 is not null"))

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

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

https://docs.google.com/spreadsheets/d/1EV_iziWtrTrkPdwY0FI2l0lzTFt-IRQHCOg1punnN5c/edit#gid = 0

0 голосов
/ 13 января 2020

enter image description here

здесь формула:

= arrayformula(
    {
      "Date","Country","Value";
      split 
      (
        transpose
        (
          split
          (
            textjoin
            (
              ":",false,filter(A2:A&","&B1:D1&"," & B2:D,A2:A<>"")
            )
            ,":",true,false
          )
        )
        ,",",true,false
      )
    }
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...