Sim, só pode ser alcançado com fórmulas:
Localizando rótulos (coluna A):
=IFERROR(INDEX(Table1[#Headers],SMALL(IF(OFFSET(Table1[#Headers],MATCH($B$8,Table1[vendorname],0),0)="","",COLUMN(Table1[#Headers])),ROW()-ROW($A$7))),"")
-
MATCH($B$8,Table1[vendorname],0)
encontra a linha que contém o contato selecionado
-
OFFSET(Table1[#Headers],MATCH(...),0)
obtém o endereço da linha selecionada
-
IF(OFFSET(...)="","",COLUMN(Table1[#Headers]))
verifica quais colunas do item selecionado contém dados (valor vazio para valores vazios, número da coluna para os outros)
-
SMALL(IF(...),ROW()-ROW($A$7)
seleciona a próxima coluna a ser usada
-
INDEX(Table1[#Headers],SMALL(...))
obtém o título
-
=IFERROR(INDEX(...),"")
mostra a célula vazia depois de exibir todos os dados
Localizando dados (coluna B):
=IFERROR(INDEX(OFFSET(Table1[#Headers],MATCH($B$8,Table1[vendorname],0),0),SMALL(IF(OFFSET(Table1[#Headers],MATCH($B$8,Table1[vendorname],0),0)="","",COLUMN(Table1[#Headers])),ROW()-ROW($A$7))),"")
A única diferença em relação ao anterior é o primeiro parâmetro de INDEX()
, que é a mesma fórmula OFFSET()
usada em small para localizar dados na linha selecionada, em vez do título.
Ambas as fórmulas são fórmulas de array, então você precisa digitá-las CTRL + SHIFT + ENTER