使用vlookup转换为arrayformula出错

时间:2019-05-20 15:54:21

标签: regex google-sheets array-formulas google-sheets-formula gs-vlookup

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

=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,所以我这样做了:

=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评估中找不到值”。

我在这里想念什么?

编辑:这是我工作表的副本和剥离版本: Copy

1 个答案:

答案 0 :(得分:2)

=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