Формула для ячейки A1 листа "Результат":
[vba]Код
=FILTER('Лист1'!B2:B; ISBLANK('Лист1'!A2:A); NOT(ISBLANK('Лист1'!B2:B)))
[/vba]
Все ячейки ниже A1 должны быть пустыми (по крайней мере в количестве, достаточном для отображения всех результатов функции FILTER), иначе в A1 возникнет ошибка #REF.
P.S. Можно два простых условия в функции FILTER заменить одним составным:
[vba]Код
=FILTER('Лист1'!B2:B; ISBLANK('Лист1'!A2:A)*NOT(ISBLANK('Лист1'!B2:B))>0)
[/vba]
и даже без явного сравнения с нулем:
[vba]Код
=FILTER('Лист1'!B2:B; ISBLANK('Лист1'!A2:A)*NOT(ISBLANK('Лист1'!B2:B)))
[/vba]
Но нельзя использовать кажущееся естественным объединение условий при помощи AND:
[vba]Код
=FILTER('Лист1'!B2:B; AND(ISBLANK('Лист1'!A2:A); NOT(ISBLANK('Лист1'!B2:B))))
[/vba]
ибо AND - немассивная функция. В работающих же выше вариантах роль AND выполняет операция умножения (знак *), и подобная замена является известным в подобных случаях трюком (наряду с заменой функции OR знаком + ).