Estou atrás de uma fórmula que criará um produto cartesiano a partir de dois conjuntos de dados em que qualquer um dos conjuntos de dados possa crescer ou diminuir.
A resposta dada por @ScottCraner neste post quase me deu a resposta, exceto que não está derramando como esperado.
Excel - Cada combinação da coluna a e coluna b na coluna d e e
Não estou procurando uma solução PowerQuery ou VBA - PQ envolve confiar na equipe para pressionar Refresh
, VBA envolve confiar na equipe para notar a barra amarela que diz "Ativar macros" e entender o que isso significa.
Na imagem acima estou tentando obter os valores nas colunas M:N
usando os dados nas colunas A:F
.
No momento estou recebendo os valores em J:K
.
- Minha versão reduzida dos dados brutos está na coluna
D
em uma tabela imaginativamente chamada Table1 . F1
contém a fórmula=SEQUENCE(EndDate-StartDate+1,,StartDate)
para me dar uma lista de todas as datas entre o início e o fim.G1
contém a fórmula=UNIQUE(Table1[Process])
I1
contém a fórmula=SEQUENCE(COUNTA($F$1#)*COUNTA(G1#))
que será derramada para me dar o número de linhas na minha tabela final (ou seja, quanto eu preciso derramar).J1
contém a fórmula=IF(I1#<>"",INDEX($F$1#,INT(ROW()-1)/COUNTA($G$1#)+1))
.
AIndex
parte por conta própria será arrastada para baixo e me fornecerá os valores em columnM
, ou eu poderia selecionar o intervalo e usar uma fórmula de matriz para também me fornecer os valores.
Se eu avaliar a fórmula na célulaJ4
, ela deve fazer referência à célulaF2
.... e faz, mas retorna o valor da célulaF1
.
Tenho a sensação de que estou perdendo algo fundamental sobre ranges derramados aqui. Alguma ideia?
Com Let and CHOOSE, podemos combinar todas as suas etapas em uma fórmula para gerar as duas colunas:
Basicamente segue seus passos.