首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在工作表函数中使用表列作为条件

在工作表函数中使用表列作为条件
EN

Stack Overflow用户
提问于 2014-04-06 06:03:16
回答 1查看 554关注 0票数 0

我想在其中一个计算中使用averageifs,该计算引用了其中一个工作表中名为Table1的表的一列。如果我将公式粘贴到单元格中,我可以做到这一点。但是我有很多单元格,所以我想避免粘贴。简而言之,我想说:

Selection.Value = WorkSheetfunction.AverageIff(Table1["Col A"], . . . .

其中,列A是包含该数据值的列

目前,这是有效的:

代码语言:javascript
复制
With Selection
        .FormatConditions.Add Type:=xlExpression, Formula1:=formula

哪里

代码语言:javascript
复制
formula = "=AVERAGEIFS(Table1[" + name + "],Table1[CELLNAME],Template!RC1,Table1[Date],Template!R1C)"

但正如我所说的,我想让代码更有效率,避免粘贴公式。那么如何将表列作为条件插入到工作表函数中呢?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-04-06 06:34:40

说明如何将表列作为条件插入到工作表函数中。

使用以下代码:

代码语言:javascript
复制
Selection.Value = WorksheetFunction.AverageIfs(Range("Table1[Col A]"), _
                                     Range("Table1[CELLNAME]"), "<criteria1>", _
                                     Range("Table1[Date]"), "<criteria2>")

更新:

我想用公式填充空白单元格

我不希望公式出现在单元格中

在这种情况下,我建议您遵循以下解决方案:

代码语言:javascript
复制
With Selection
    .FormulaR1C1 = "=AVERAGEIFS(Table1[Col A],Table1[CELLNAME],Template!RC1,Table1[Date],Template!R1C)"
    .Value = .Value
End With

它使用公式计算值,然后.Value = .Value部件使用公式的结果重写公式。

还可以查看这个链接:how to avoid using Select/Active statements

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22887432

复制
相关文章

相似问题

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