Преобразование в формулу массива с помощью vlookup происходит неправильно - PullRequest
0 голосов
/ 20 мая 2019

У меня есть рабочая формула здесь:

=IF(ISTEXT($D3);
IF(VLOOKUP($D3;klanten;15;FALSE)>15;
REGEXREPLACE(JOIN(" ";ARRAYFORMULA(VLOOKUP($D3;klanten;
{6\5\3\4};FALSE)));"\s{2,}";" ");
REGEXREPLACE(JOIN(" ";
ARRAYFORMULA(VLOOKUP($D3;klanten;{2\4};FALSE)));"\s{2,}";" "));"")

Я копирую и вставляю это, и это работает.

Но я хочу обернуть вокруг него формулу массива, поэтому я сделал это:

=ArrayFormula(IF(ISTEXT($D3:D);
IF(VLOOKUP($D3:D;klanten;15;FALSE)>15;
REGEXREPLACE(JOIN(" ";VLOOKUP($D3:D;klanten;
{6\5\3\4};FALSE));"\s{2,}";" ");
REGEXREPLACE(JOIN(" ";
VLOOKUP($D3:D;klanten;{2\4};FALSE));"\s{2,}";" "));""))

Теперь мой результат #N/A и ошибка (когда я указываю на ячейку)

Значение '' не найдено в оценке VLOOKUP.

Что мне здесь не хватает?

РЕДАКТИРОВАТЬ: вот копия и раздетая версия моего листа: Копирование

1 Ответ

2 голосов
/ 20 мая 2019
=ARRAYFORMULA(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IF(ISTEXT(D2:D);
 IFERROR(IF(IFERROR(VLOOKUP(D2:D; klanten; 15; 0))>15;
 IFERROR(VLOOKUP(D2:D; klanten; {6\ 5\ 3\ 4}; 0));
 IFERROR(VLOOKUP(D2:D; klanten; {2\ 4}; 0)))); )); ; 999^99))))

enter image description here

...