求excel引用上一工作表某单元格固定公式 150
步骤1
打开做好的excel表格。公式中的相对单元格引用是基于包含公式和单元格引用的单元格的相对位置,若公式所在的单元格位置改变,则引用也随之改变。
1.选定单元格I3,其中的公式为“=SUM(C3:H3)”,求得个人的总分;
2.制定单元格I3右下角的填充柄,鼠标指着变成十形时,按住鼠标左键不放向下拖拽到要复制公式的区域;
3.释放鼠标后,即可完成复制公式的操作。
步骤2
亲们注意到了没,在I3的公式为“=SUM(C3:H3),在单元格I4的公式为”=SUM(C4:H4),后面单元格位置变了,相应的公式也变化了,这就是相对引用单元格。
步骤3
绝对引用指向工具表中固定位置的单元格,它的位置与包含公式的单元格无关。在表格里,要通过”$"符号来实现,在列标行号前添加。
例如:如果要在每个人总分后加上表现分28分,在单元格J3的公式为:=I3+C14。
如果像上面一样拖动填充柄填充会发现,公式变动,可是数据却没有变化,显然这样是不对的,因为C15,C16单元格都是零。
那么我们修改J3的公式,公式改为”=I3+$C$14”,然后拖动填充柄,会发现数据已经正常计算了。
其中的C14就被绝对引用了,公式可以填充使用了。
注意事项:
$符号写在行前面是固定行数,写在列前面是固定列数,都写就是行和列都固定了。
混合引用就是引用其中一行另一列,比如$A2*B$1,即固定A列和第一行,亲们可以自己试试。
答非所问啊,亲。求的是第二工作表的a1等于第一工作表的c1。第三工作表a1等于第二工作表c1。……如此每天一张表a1,等于前一天一张表c1。
选择工作表2,按住SHIFT键,选择工作表31。此时选择了工作表2-31共30个工作表
在其中任一工作表的A1中输入或复制粘贴下列公式
=INDIRECT(RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")))&"!C1")
选择此工作表的A1单元格,开始,编辑,填充,至同组工作表,默认选择全部,确定。
不是一次性就有那么多工作表。是要每天新建一个工作表,该工作表某单元格等于上一工作表某某单元格。
在本工作表的A1单元格输入公式:=INDIRECT(RIGHT(CELL("filename",A1),1)-1&"!C1")
公式剖析:
1. CELL("filename",A1):取本工作表的路径:C:\Users\SYN\Desktop\[新建
Microsoft Excel.xls]2
2. RIGHT(CELL("filename",A1),1)-1:本工作表名称的最右的1位数,即2,再减去1;此步骤是为了得出上一工作表的路径,即C:\Users\SYN\Desktop\[新建 Microsoft Excel.xls]1
3. 用INDIRECT函数把第2步的工作表路径跟C1组合起来:INDIRECT(RIGHT(CELL("filename",A1),1)-1&"!C1")
注意:在第10个工作表、第100个工作表、第1000个工作表时,需要对第2步的参数进行修改
第10个工作表:RIGHT(CELL("filename",A1),2)-1
第100个工作表:RIGHT(CELL("filename",A1),3)-1
第1000个工作表:RIGHT(CELL("filename",A1),4)-1
Function lj()
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To Sheets.Count
Set sh = Worksheets(i)
p = Replace(sh.CodeName, "Sheet", "") * 1
d(p) = sh.Name
Next i
sr = Replace(ActiveSheet.CodeName, "Sheet", "") * 1
If d.exists(sr - 1) Then
nn = d(sr - 1)
lj = Sheets(nn).[C1].Value
End If
End Function
启用宏的环境,按ALT+F11打开VBE编辑器,插入模块,先把上面的代码贴在模块的代码窗中,注意文件保存为.XLSM或.XLS的格式,否则代码保存不了。
然后在A1单元格中输入=lj() 就OK了,希望你帮助到你
没看懂