No Excel (mas sem o uso de VB) como faço para juntar algumas colunas de uma matriz dinâmica a colunas de outra de modo que o resultado também seja uma matriz dinâmica?
Aqui está um exemplo muito simples. Suponha que eu tenha dois arrays dinâmicos de 2 colunas de igual comprimento. A primeira está em A1:B5, e a segunda está em D2:E6. Eu gostaria de criar um novo e terceiro array dinâmico em G3:H7, de modo que G3:G7 contenha o que estiver em A1:A5 e H3:H7 contenha o que estiver em E2:E6. Aqui está uma ilustração.
| A | B | C | D | E | F | G | H |
—|———+———+———+———+———+———+———+———|
1| a | 1 | | |. | | | |
2| b | 3 | | f | 0 | | | |
3| c | 5 | | g | 2 | | a | 0 |
4| d | 7 | | h | 4 | | b | 2 |
5| e | 9 | | i | 6 | | c | 4 |
6| | | | j | 8 | | d | 6 |
7| | | | | | | e | 8 |
—————————————————————————————————-
Agora eu já sei que posso criar um terceiro array usando as seguintes fórmulas:
G3 = INDEX(A1#,0,1)
H3 = INDEX(D2#,0,2)
No entanto, isso me dá um resultado na forma de dois arrays dinâmicos de 1 coluna, enquanto eu gostaria que fosse um único array dinâmico de 2 colunas.
No momento, minha abordagem é tratar G3:G7 como um array auxiliar e, em seguida, crio minha versão dinâmica final desejada com algo assim:
J3 = OFFSET(G3,0,0,ROWS(A3#),2)
E eu provavelmente poderia até mesmo remendar alguma monstruosidade que eliminasse a necessidade do ajudante. Mas essa é uma forma de operação tão comum que eu esperava que houvesse um método mais elegante e "canônico", talvez usando as próprias novas funções dinâmicas de matriz.
Alguém pode sugerir um? (Mais uma vez, sem Visual Basic, por favor.)
Com as funções atuais no Office 365 podemos usar CHOOSE com uma matriz horizontal:
Isto irá empilhar as duas matrizes verticais lado a lado
No momento em que os itens do canal Beta atual forem liberados para o usuário normal, podemos usar o VSTACK: