公式E4

公式E4

图片

参见玩具示例(Google 电子表格)。给定列D,我需要在列中输入什么公式E才能获得 A 中存在的逗号分隔值列表的总和?您可以假设所有项目都存在于 A 中。

我知道SPLIT可以将 D 变成一个数组,但不确定如何使用它,以及我是否应该将VLOOKUP结果数组中的每个项目与 A 列和 B 列相对应,或者使用SUMIF,或者完全是其他东西。谢谢!

答案1

公式E4

将计算所有行D4:D

=BYROW(TOCOL(D4:D, 1), LAMBDA(_row,
   ARRAYFORMULA(
     SUM(
       VLOOKUP(
         SPLIT(_row, ","),
         A:B, 2, 0))))) 

解释

  1. TOCOL 返回一个包含非空行的数组D4:D
  2. BYROW 将该数组的每一行逐一传递给 LAMBDA 函数,该函数将当前行存储在变量中_row
  3. LAMBDA 公式:
    1. SPLIT 分成_row 一个数组。
    2. VLOOKUP 将每个数组成员与列中的值进行匹配A,并返回同一行列中的值B
    3. 然后使用 SUM 对 VLOOKUP 返回的值数组进行总计。

相关内容