使用 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))))
我这里有一个有效的公式:
=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))))