我正在使用Excel 2010。
我有像
这样的列Start_Sum End_Sum ------ 1999 - 2000 - 2001 --- 2002 --- 2003 --- 2004 --- 2005
2000 ------ 2003 ------------- 200 --- 140 - 160 ----- 368 ---- 892 ----- 213 - ---- 637
总和: - 1560
以上显示的是我的Excel表格的示例。 现在,当用户编辑开始和(2000)结束日期(2003)时,我需要重新计算总值(1560)。 总而言之,我需要知道像= SUM(E15:H15)
这样的位置现在有没有像2001这样的标题名称,我可以找到它的列和行 例如2001年是在F14 有没有可用的Excel功能?
很抱歉我有使用---行间距。我无法正确格式化这个问题。 在此先感谢:)
答案 0 :(得分:1)
如果您的意思是按公式进行,可以使用以下内容:
= SUM(INDIRECT( “R2C” &安培; MATCH(A2; 1:1; 0)及 “:R2C” &安培; MATCH(B2; 1:1; 0); FALSE))
使用VBA,您可以这样做:
Option Explicit
Sub MySum()
Dim wb As Workbook
Dim sh As Worksheet
Dim rn As Range
Dim cl1 As Range
Dim cl2 As Range
Dim sFind1 As String
Dim sFind2 As String
Dim sRes As String
sFind1 = "2000"
sFind2 = "2003"
Set wb = ThisWorkbook
Set sh = wb.Sheets("Sheet1")
Set rn = sh.Range("1:1")
Set cl1 = rn.Find(sFind1)
Set cl2 = rn.Find(sFind2)
sRes = Application.WorksheetFunction.Sum(sh.Range(cl1.Offset(1, 0), cl2.Offset(1, 0)))
sh.Range("B5").Value = sRes
End Sub
答案 1 :(得分:1)
或另一个公式(电子表格,如前面的答案)
=SUM(OFFSET($C$1;1;MATCH(A2;D1:I1;0);1;MATCH(B2;D1:I1;0)-MATCH(A2;D1:I1;0)+1))