Excel 如何动态更改单元格的公式
我试图改变学生总成绩的计算公式。最初有两列,如果单击“添加”按钮,也会添加一个新列,因此应更改公式 我在Excel中的公式是Excel 如何动态更改单元格的公式,excel,vba,Excel,Vba,我试图改变学生总成绩的计算公式。最初有两列,如果单击“添加”按钮,也会添加一个新列,因此应更改公式 我在Excel中的公式是=SUM(J7,H7),即只加上百分比 我的问题是,我不知道如何重置公式并更改为 =SUM(J7,H7,F7,D7)/[no. of items added after clicking the add button] 有什么办法解决这个问题吗 注意:列是交替的,不是串联的。如果公式: =SUM(IF(MOD(COLUMN(K7)-COLUMN(C7:J7
=SUM(J7,H7)
,即只加上百分比
我的问题是,我不知道如何重置公式并更改为
=SUM(J7,H7,F7,D7)/[no. of items added after clicking the add button]
有什么办法解决这个问题吗
注意:列是交替的,不是串联的。如果公式:
=SUM(IF(MOD(COLUMN(K7)-COLUMN(C7:J7),2)=1,C7:J7,0))
这样,当您添加列时,它将自动调整大小(前提是您通过实际插入列来添加列)
K7
是带公式的单元格,C7:J7
是数据行的所有单元格
输入。这一点的关键是C5:J5中的合并单元格。这有一个定义要考虑的整个区域的。可以与大量偶数列一起使用,以查看合并区域中适合的列。继续与所涉及的行相交将产生正确范围的结果 我不太清楚这个求和函数的作用。样本中的数字并不表示任何明显的位置。这使用列K,行号作为参数输入
Sub main()
new_formula rw:=7
new_formula rw:=8
End Sub
Sub new_formula(rw As Long)
Dim rng As Range, summative As Range
With Worksheets("Sheet5")
Set summative = .Rows(5).Find(what:="Summative", LookIn:=xlFormulas, LookAt:=xlWhole)
Set rng = Intersect(summative.MergeArea.EntireColumn, _
.Rows(rw), _
Union(.Columns(4), .Columns(6), .Columns(8), .Columns(10), _
.Columns(12), .Columns(14), .Columns(16), .Columns(18)))
With summative.MergeArea
.Cells(.Count).Offset(rw - .Row, 1).Formula = _
"=sum(" & rng.Address(0, 0) & ")"
End With
End With
End Sub
在运行
main
之后
从
main
调用sub将首先在第7行设置一个新的求和公式,然后在第8行设置一个新的求和公式。添加或删除列需要重新运行sub,但您的列可能是通过代码添加的,这可能是更大例程的一部分。hi。。我收到了零(0)输出,因为8的MOD是2,因为列(K7)-列(C7:J7)等于8。您是否按Ctrl+Shilf+Enter输入公式@smz?另外,对于任何整数X
,MOD(X,2)将不会是除0
或1
之外的任何值。