【问题标题】:Array formula to fill column based on two or more lookup keys?基于两个或多个查找键填充列的数组公式?
【发布时间】:2019-11-09 23:38:19
【问题描述】:

有一个三列表。前两列中的每一行都有一个唯一标识符(但各列中的值不是唯一的)。第三列包含表中每一行的值。

然后是另一个三列表。前两列中的每一行都是要在第一个表中查找的值,以用相应的值填充第三列。所以我一直在尝试想出一个数组公式来填充第三列。

  • 我不想要解决方案的脚本,只想要公式
  • 我不想分发单行公式,只分发数组公式

【问题讨论】:

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


    【解决方案1】:

    尝试:

    =ARRAYFORMULA(IFNA(VLOOKUP(E1:E10&F1:F10; {A1:A10&B1B:10, C1:C10}; 2; 0)))
    

    其中 A、B、C 列是第一个表,E、F、G 列是第二个表。

    【讨论】:

    • 当然是把两列合二为一!谢谢!!
    【解决方案2】:

    这里使用vlookup、query、arrayformula等求和数据,假设A21到B25为唯一master,I16到K19为分布数据,I16到J19为A21到B25唯一master,如果数据不同根据我的假设,实际更改它们:

    =arrayformula(vlookup(arrayformula(len({A21:A25}) & ":" & len ({B21:B25}) & ":" & {A21:A25} & {B21:B25}),query({arrayformula(len({I16:I19}) & ":" & len ({J16:J19}) & ":" & {I16:I19} & {J16:J19}),arrayformula(if(isnumber(K16:K19),K16:K19,0))},"select Col1, sum(Col2) group by Col1"),2,false))
    

    我将两列与每列的标识符长度和冒号结合起来,因为我希望我的列组合是唯一的,如果我结合 'aaa' 和 'aaaa' 将与 'aaaa' 和 'aaa' 相同,但它可以是必要时省略以缩短公式:

    =arrayformula(vlookup(arrayformula({A21:A25} & {B21:B25}), query({arrayformula( & {I16:I19} & {J16:J19}), arrayformula(if(isnumber(K16:K19), K16:K19, 0))}, "select Col1, sum(Col2) group by Col1"),2,false))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      • 2023-03-03
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      相关资源
      最近更新 更多