Confira este exemplo, com uma coluna sobressalente e três fórmulas de matriz de tipos.
OintervaloA1:B100
épreenchidocomstringsaleatórias,comcélulasembranco,intervaloC1:C100
éapenasalgunsnúmeros(tambémpodemserstrings).
OintervaloH1:H100
éusadocomocolunadeajuda,que,naverdade,filtraeacumulaosnúmerosdaslinhascomcélulasnãovaziasemA
eB
.
H1
:fórmuladematrizparaencontraroprimeironúmerodelinhacomcélulasnãovaziasnascolunasA
eB
:
=MATCH(1,SIGN(LEN(TRIM($A$1:$A$100))*LEN(TRIM($B$1:$B$100))),0)
H2
:outrafórmuladematrizparaencontrartodososnúmerosrestantesdelinhacomcélulasnãovaziasemA
eB
colunas:
=IF(ROW()>SUM(SIGN(LEN(TRIM($A$1:$A$100))*LEN(TRIM($B$1:$B$100)))),"",MATCH(1,SIGN(LEN(TRIM(INDIRECT(ADDRESS((1+H1),1)&":$A$100")))*LEN(TRIM(INDIRECT(ADDRESS((1+H1),2)&":$B$100")))),0)+H1)
A fórmula é bastante longa, portanto, apenas no caso, aqui está, formatada para mostrar a estrutura:
IF(
ROW()>
SUM(
SIGN(
LEN(TRIM($A$1:$A$100))*LEN(TRIM($B$1:$B$100))
)
)
,""
,MATCH(1,
SIGN(
LEN(TRIM(INDIRECT(ADDRESS((1+H1),1)&":$A$100")))
*LEN(TRIM(INDIRECT(ADDRESS((1+H1),2)&":$B$100")))
)
,0
)+H1
)
Digite o último tipo de fórmula de matriz em D1
:
=IF(ROW()>SUM(SIGN(LEN(TRIM($A$1:$A$100))*LEN(TRIM($B$1:$B$100)))),"",INDEX($A$1:$C$100,$H1,COLUMN()-COLUMN($D$1)+1))
copie a célula para E1
, F1
; selecione e copie o intervalo D1:F1
;
selecione o intervalo D2:F100
e cole as células copiadas.
As fórmulas podem ser muito mais curtas em relação a mais colunas auxiliares.
Nota obrigatória: para entrar a fórmula do array , pressione Ctrl + Deslocamento + Enter em vez de apenas Enter para a fórmula escalar).