【问题标题】:Converting to arrayformula with vlookup goes wrong使用 vlookup 转换为 arrayformula 出错
【发布时间】:2019-05-21 00:52:10
【问题描述】:

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

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

我在这里错过了什么?

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

【问题讨论】:

  • 查看主帖,我添加了我的工作表的副本

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


【解决方案1】:
=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))))

【讨论】:

  • 再次感谢,它可以工作,而且代码对我来说更干净:-)
猜你喜欢
  • 2021-10-15
  • 2017-08-24
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
  • 2019-10-05
  • 1970-01-01
相关资源
最近更新 更多