首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据传递给SUMPRODUCT

将数据传递给SUMPRODUCT
EN

Stack Overflow用户
提问于 2021-11-03 10:54:00
回答 1查看 51关注 0票数 0

我之前使用了以下代码-

代码语言:javascript
复制
Dim HSArr(2 To 250) As Variant
Dim HSVal As Long

For HSVal = LBound(HSArr) To UBound(HSArr)
HSArr(HSVal) = Cells(HSVal, 1) & " " & Cells(HSVal, 2)
Next HSVal

这是一个将A和B列连接在一起的数组,然后该数组将以"P2:P250“的形式输出到工作表上。

代码语言:javascript
复制
Sub SumData()
    Const dFormula As String _
        = "=IFERROR(SUMPRODUCT(--(P$2:P$250=I2),D$2:D$250,F$2:F$250),"""")"
    With ThisWorkbook.Worksheets("Sheet1").Range("K2:K250")
        .Formula = dFormula
        .Value = .Value
    End With
End Sub

这段代码在一定程度上完成了我想要的操作,但需要"P2:P250“来包含数组输出,但我不想将任何内容输出到工作表中。

这里有一段我不理解的信息,我如何将这些值从数组引入SUMPRODUCT (而不是"P2:P250"),即使它不是通过数组的方法,因为AFAIK不能使用它作为一个范围,除非它在工作表本身上。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-11-03 18:37:01

使用VBA构建数组,然后尝试将其与工作表中的公式一起使用,而不将该信息放入工作表中,这通常是不起作用的,但是在这里,您可以在公式中使用源数据:

代码语言:javascript
复制
=IFERROR(SUMPRODUCT(--(A$2:A$250&" "&B$2:B$250=I2),D$2:D$250,F$2:F$250),"""")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69823610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档