Tenho um conjunto de dados no Planilhas Google onde as datas aparecem na Coluna A e os valores (como nomes de itens) aparecem na Coluna B.
Os dados são assim:
UM | B |
---|---|
01/04/2024 | Item A |
Item B | |
Item C | |
05/04/2024 | Item D |
Item E | |
4/10/2024 | Item F |
Item G | |
Item H | |
Item I |
Quero transpor os nomes dos itens horizontalmente ao lado de cada data —
ou seja, cada data terá seus valores correspondentes distribuídos nas Colunas C, D, E, etc.
Resultado esperado:
UM | B | C | D | E |
---|---|---|---|---|
01/04/2024 | Item A | Item B | Item C | |
05/04/2024 | Item D | Item E | ||
4/10/2024 | Item F | Item G | Item H | Item I |
Tentei usar fórmulas como FILTER
, TRANSPOSE
, e ARRAYFORMULA
,
mas só consigo obter resultados para o primeiro encontro ou resultados incompletos.
Como posso preencher dinamicamente todas as linhas conforme o resultado esperado?
De preferência usando uma fórmula, não scripts ou tabelas dinâmicas manuais.
Eu tentei, mas esta fórmula não é precisa
=IF(A2<>"", TRANSPOSE(FILTER(B$2:B, MMULT(N(ROW(A$2:A$1000)<=ROW(A2))*(A$2:A<>""), SEQUENCE(COLUMNS(B$2:B),1,1,0))=1)), "")
Desde já, obrigado!
Você pode usar
Como funciona
Primeiro, preenchemos cada célula em branco na coluna de datas com a data anterior não vazia usando
SCAN
e atribuímos o resultado à variáveldates.fill
Em seguida, iteramos sobre cada um
date
na coluna de datas usando aMAP
função e retornamos a data empilhada horizontalmente para os itens filtrados com base na condiçãodates.fill = date
usando aFILTER
funçãoVocê pode tentar:
SAÍDA
REFERÊNCIAS