使用 vlookup 转换为 arrayformula 出错

Converting to arrayformula with vlookup goes wrong

我这里有一个有效的公式:

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

我复制并粘贴下来,效果很好。

但我想用数组公式包裹它,所以我这样做了:

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

现在我的结果是 #N/A 错误是(当我指向单元格时)

The value '' was not found in the VLOOKUP evaluation.

我在这里错过了什么?

编辑:这是我的 sheet 的副本和剥离版本: Copy

=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))))