【问题标题】:For all location in array x equal to z, sum corresponding location in array y对于数组 x 中等于 z 的所有位置,对数组 y 中的对应位置求和
【发布时间】:2019-04-12 23:24:34
【问题描述】:

我正在寻找一个函数,如果它们在行 (C, I, O ... n-3) 中的相应值等于例如,则将列 (F, L, R ... n) 中的所有值相加。 “一个”。

如果如果只有几列,我会为每列使用 sumif,但我必须为 50 个不同的值(A、B、C ...)重复 600 次

我尝试过 SUM(IF(C9:O57="A";F9:R57)) ,它起初有效,但在我的“真实文档”中,当我复制它时它返回“0”。

Example

【问题讨论】:

  • 也许你在复制后忘记用 CTRL+SHIFT+ENTER 重新提交公式。无论如何,非 CSE =SUMIF(C9:O57,"A",F9:R57) 将给出相同的结果。

标签: arrays excel indexing sum lookup


【解决方案1】:

如果你想得到一个数字 = 真的将所有表中的值加到“A”旁边,那么你可以使用这样的东西

=SUM(SUMIFS(OFFSET(F:F;0;6*(ROW(1:50)-1));OFFSET(C:C;0;6*(ROW(1:50)-1));"A"))

(很可能您有不同的区域设置,因此您可能需要将; 更改为,) 并将其作为数组公式输入(ctrl+shift+enter)

基本上这两个

OFFSET(C:C;0;6*(ROW(1:50)-1))
OFFSET(F:F;0;6*(ROW(1:50)-1))

意味着您需要在 C 列和 F 列求和中查找“A”,然后对向右移动 6 列的相同组合重复相同的操作,然后再重复一次,直到重复 50 次。

因此,您需要确保您的结构始终相同(=始终移动 6 列),然后仅调整 ROW(1:50) 以使您的表格总数在一行而不是 50 个。然后,如果您有要查找的 50 项内容(A、B、C、...)您只需将这些值列成一列并更改 "A" 以引用这些值并在其旁边复制公式。

【讨论】:

  • 非常感谢!你是个传奇!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多