Да, это может быть достигнуто только с помощью формул:
Поиск ярлыков (столбец 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) находит строку, которая содержит выбранный контакт
OFFSET(Table1[#Headers],MATCH(...),0) получает адрес выбранной строки
IF(OFFSET(...)="","",COLUMN(Table1[#Headers])) проверяет, какие столбцы выбранного элемента содержат данные (пустое значение для пустых, номер столбца для остальных)
SMALL(IF(...),ROW()-ROW($A$7) выбирает следующий столбец для использования
INDEX(Table1[#Headers],SMALL(...)) получает титул
=IFERROR(INDEX(...),"") показывает пустую ячейку после отображения всех данных
Поиск данных (столбец 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))),"")
Единственное отличие от предыдущего - это первый параметр INDEX()что то же самое OFFSET() формула, используемая в small для поиска данных в выбранной строке, а не в заголовке.
Обе формулы являются формулами массива, поэтому вам нужно ввести их CTRL + СДВИГ + ВОЙТИ
