Если у вас есть версия Excel, которая поддерживает массивы Dynami c, вы можете использовать комбинацию Filter
и FilterXML
вместо формулы Index
, чтобы отфильтровать только биты U-фактора
Формула в E17
(Разлив в E17:E18
для данных этого примера)
=FILTERXML("<h><a>"&SUBSTITUTE(FILTER(B19:B30,LEFT(B19:B30,19)="Thermal Requirement"),",","</a><a>")&"</a></h>","//a[contains(text(),""U-Factor"")]")```
или поместите условия поиска в отдельные ячейки
=FILTERXML("<h><a>"&SUBSTITUTE(FILTER(B19:B30,LEFT(B19:B30,LEN(E9))=E9),",","</a><a>")&"</a></h>","//a[contains(text(),""" & E10 & """)]")
Обратите внимание, что если в диапазоне данных имеется более 1 строки «Требования к температуре», это приведет к разливу
Как это работает
Прервано и ссылается на изображение ниже:
Внутренняя Filter
возвращает диапазон разлива, состоящий только из строк "Требования к теплу"
=FILTER(B19:B30,LEFT(B19:B30,LEN(E9))=E9)
Этот диапазон разлива затем форматируется как XML
="<h><a>"&SUBSTITUTE(G17#,",","</a><a>")&"</a></h>"
Затем фильтруется XML для возврата узлов "U-Factor"
=FILTERXML(H17#,"//a[contains(text(),""" & E10 & """)]")