标签: sumproduct

在数组中使用OR逻辑作为Sumproduct中的参数

我有一个相当大的数据集,我需要将多个条目组合成一个值.我的数据集包含两个数据集组合的数据,每个数据集都使用自己的ID和密钥.

我想过使用这样的Sumproduct()函数:

=SUMPRODUCT(--('Raw data'!C:C=Landgebruik!A2);--('Raw data'!O:O={20;21;22;23;40});'Raw data'!S:S)

Landgebruik!A2保持的ID为第一数据集,这是我需要聚合的第二数据集.

'Raw data'!O:O包含第二个数据集中的ID.在上面的例子中,'Raw data'!S:S当第二个ID的值是这些值中的任何一个时,我需要对面积(in )求和:{20;21;22;23;40}.(OR逻辑)该列仅包含整数值.

有没有其他方法可以解决这个问题,然后复制--('Raw data'!O:O=20)数组中的所有值?

编辑:

我现在一直在处理,这是:=SUMPRODUCT(--('Raw data'!C:C=Landgebruik!A2);--('Raw data'!O:O=20)+('Raw data'!O:O=20)+('Raw data'!O:O=21)+('Raw data'!O:O=22)+('Raw data'!O:O=23)+('Raw data'!O:O=40);'Raw data'!S:S).但我觉得应该有更优雅的方式来做这件事.

excel worksheet-function excel-formula sumproduct

8
推荐指数
4
解决办法
312
查看次数

R中数据框中的条件求和

考虑以下数据帧:

df <- data.frame(row_id = c("r1","r2","r3","r4","r1","r2","r3","r4"),
                 v1 = c(3,2,5,2,5,2,6,4),
                 v2 = c(4,3,5,3,7,4,6,7))
Run Code Online (Sandbox Code Playgroud)

我想用“ row_id”求和。也就是说,对于具有row_id:“ r1”的行,我想进行以下计算:(3 * 4)+(5 * 7)。等等。

因此,我最终将具有以下矩阵:

df1 <- data.frame(row_id = c("r1","r2","r3","r4"),
                 v1 = c(47,14,61,34))
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

谢谢。

r vector sumproduct

5
推荐指数
1
解决办法
51
查看次数

如何区分sumproduct是否需要与CSE一起插入?

有时,我使用sumproduct固有的数组功能来避免不必通过Control Shift Enter输入公式。但这并不总是有效的。例如

=SUMPRODUCT((LEN(B2:F2)-LEN(SUBSTITUTE(B2:F2,M$2:M$10,"")))*N$2:N$10)
Run Code Online (Sandbox Code Playgroud)

会工作,而

=SUMPRODUCT(--IF(ISNUMBER(N6:N9),N6:N9))
Run Code Online (Sandbox Code Playgroud)

不会。

对于我来说,不是很明显,为什么第一个给出正确的结果,而第二个却没有。

excel excel-formula sumproduct

5
推荐指数
1
解决办法
93
查看次数

SumProduct公式错误13类型不匹配

我试图得到多个标准的总和:

  • "得到"(A栏)
  • "是"(C栏)
  • 总和K.

从下图中可以看出,我设法在excel中使用SumProduct得到答案.当我尝试使用VBA获得与SumProduct相同的答案时,我会收到错误13类型不匹配.

图片:

在此输入图像描述

有什么建议?

码:

Option Explicit

Sub test()

    Dim Criteria1 As String, Criteria2 As String
    Dim Lastrow As Long, Result As Double
    Dim rng1 As Range, rng2 As Range, rng3 As Range

    With ThisWorkbook.Worksheets("Sheet1")

        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

        Set rng1 = .Range("A3:A" & Lastrow)
        Set rng2 = .Range("C3:C" & Lastrow)
        Set rng3 = .Range("K3:K" & Lastrow)

        Criteria1 = "Get"
        Criteria2 = "Yes"

        Result = Application.Evaluate("SumProduct(--(rng1 = Criteria1),--(rng2 = Criteria2),--rng3))")

    End With

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba sumproduct

2
推荐指数
1
解决办法
47
查看次数

Google Sheets:计算一列中与另一列中的相应行不匹配的行数?

假设我们在谷歌表格中有以下电子表格:

a  a
b  b
c  
d  e
e  d
Run Code Online (Sandbox Code Playgroud)

如何构建一个公式来计算 B 列中与 A 列中的相应行不匹配且不为空的行数?换句话说,我想获取 B 列中更改为新字母的行数。因此,在此示例中,公式应返回 2。

感谢您的帮助。

更新:

现在假设我有这个电子表格:

a  a  
b  b  b
c     a
d  e  e
e  d  e
Run Code Online (Sandbox Code Playgroud)

我将如何构建第三列的最后一个公式,其中返回的值是:

  • (第 3 列中与第 2 列中相应行不匹配的行数)+(如果第 2 列为空,则第 3 列中与第 1 列中相应行不匹配的行数)
  • 我也不想计算第三列中的空白。

本例中返回的值应为 2(第 3 行和第 5 行)。

countif google-sheets array-formulas google-sheets-formula sumproduct

2
推荐指数
1
解决办法
1926
查看次数

每行数据帧的向量乘以R之和

我有一个数据框df如下:

    prod sd  c1   c2   c3
1   NA   NA 0.5 0.25 0.25
2   NA   NA 0.5 0.50 0.00
3   NA   NA 0.5 0.00 0.50
Run Code Online (Sandbox Code Playgroud)

和一个向量v = c(0.1, 0.2, 0.3)

对于每一行,我想“求和”df$[,c(3:5)] * v并将结果放入df$prod,这样:

df$prod[1] <- (0.5 * 0.1) + (0.25 * 0.2) + (0.25 * 0.3)
df$prod[2] <- (0.5 * 0.1) + (0.5 * 0.2) + (0 * 0.3)
Run Code Online (Sandbox Code Playgroud)

我已经阅读了许多关于复制 Excels 的 sumproduct 函数的不同主题,并尝试了很多不同的东西,但我一直无法提出一个可行的解决方案。如果有帮助,很高兴详细说明无效的内容,但我怀疑我忽略了一些非常简单的内容。非常感谢任何帮助。

r vector dataframe sumproduct

0
推荐指数
1
解决办法
170
查看次数