enter image description here我需要一些VBA帮助来执行Sumif功能。
我有一个文件,需要从sheet2中提取:使用正常公式,该函数为:enter image description here SUMIF(Sheet2!B:B; Sheet1!A:A; Sheet2!C:C) 但是,我希望他们在VBA中可以给这个小力量:)
我已经尝试了一些方法,但是它总是返回零。然后按照标准获取有关新想法的帮助
答案 0 :(得分:1)
您的工作表公式使用Sheet1!A:A标准的“隐式引用”。通常,您会使用
=SUMIF(Sheet2!B:B; Sheet1!A2; Sheet2!C:C)
在Sheet1!C2(或任何其他单元格)中...,并填写Sheet1!A3,Sheet1!A4等作为条件。没有“隐式引用”,因为您要在Sheet1的A列中显式引用一个特定的单元格。通过使用
=SUMIF(Sheet2!B:B; Sheet1!A:A; Sheet2!C:C)
...作为标准公式,您隐式引用了A列中的单元格,该列与该公式在同一工作表行中。当公式在第5行时,将Sheet1!A5用作标准;当它在第99行时,Sheet1!A99成为条件。
“隐式引用”( aka “推断引用”)的概念可以通过此简单练习轻松演示。
在右侧任何未使用的列中,选择1到10之间的一行并放入公式,
=a:a
结果将是您将公式放入任何行的A列中的值。
在没有单元格(在VBA中称为Application.Caller的单元格)中提供隐式或推断行的情况下,该公式对于A列中要隐式引用的单元格感到困惑。使用上面提供的简化示例,VBA没有行引用来确定如何将A:A解析为单个单元格引用。我最好的猜测是它试图引用Sheet1!A1或Sheet1!A1048576作为标准。
希望我已经充分解释了这个概念。欢迎发表评论,我会尽力回复。