【问题标题】:google spreadsheets - hlookup applied to new rows using arrayformula谷歌电子表格 - hlookup 使用 arrayformula 应用于新行
【发布时间】:2019-06-15 21:00:54
【问题描述】:

我有一个电子表格,其中自动从外部来源添加新行。我正在使用 hlookup 查找价格所在行(哪一列)的位置(所有价格都包含一个€符号)

=IF(B2="","",HLOOKUP("*"&"€"&"*",offers!K2:2,1,0))

我可以通过向下拖动来复制公式,但这样它不会自动应用于新行。这就是为什么我尝试使用 ARRAYFORMULA,但我无法让它工作。

如何组合 ARRAYFORMULA 和 HLOOKUP(或替代方法),以便将公式也应用于所有新行?

spreadsheet simplified example

【问题讨论】:

  • @player0 我添加了一个简化版本的链接。其他行是通过外部脚本创建的。

标签: google-sheets


【解决方案1】:

将此粘贴​​到 A1 中:

={""; ARRAYFORMULA(TRANSPOSE(SPLIT(CONCATENATE(IF(LEN(C2:C), 
  IF(REGEXMATCH(D2:G, "€"), D2:G&";", ), )), ";", 1, 1)))}

替代方案:

=ARRAYFORMULA(IF(D2:D="", , VLOOKUP(ROW(A2:A), {ROW(A2:A), C2:H}, MMULT(COLUMN(B:G)*
 ISNUMBER(FIND("€", C2:H)), TRANSPOSE(COLUMN(C:H)^0)), 0)))

=ARRAYFORMULA(IF(D2:D="", , MMULT(IFERROR(1*SUBSTITUTE(SUBSTITUTE(C2:H, "€", ""),
 ",", "."), 0)*ISNUMBER(FIND("€", C2:H)), TRANSPOSE(COLUMN(C:H)^0))))

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    相关资源
    最近更新 更多