如果工作表编号/名称是变量/变体,如何引用公式中的下一张或上一张工作表。
我已经看过用vba做这个的方法,有没有办法用公式或函数做到这一点
答案 0 :(得分:1)
在Excel中。在任何单元格中输入等号“=”。这将使您进入交互模式。
导航到其他工作表,然后单击要引用的单元格。然后按回车键。
返回上一张工作表并编辑您开始使用的单元格,您应该看到要使用的公式。
引用下一个/ prevoius工作表(See example here)。你需要一些我认为的VB代码(有些东西):
Function PrevSheet(RCell As Range)
Dim xIndex As Long
Application.Volatile
xIndex = RCell.Worksheet.Index
If xIndex > 1 Then _
PrevSheet = Worksheets(xIndex - 1).Range(RCell.Address)
End Function
然后使用
=PrevSheet(A1)
答案 1 :(得分:1)
以下是使用常规Excel公式列出所有工作表名称的另一种方法:
Cell A1
:=CELL("filename",1:1048576)
Cell B1
:=MID(A1,FIND("[",A1)+1,FIND("]",A1)-FIND("[",A1)-1)
转到Formula > Name Manager > New
,如下图所示,在SheetNames
字段中输入 Name
,在Refers to
中输入以下公式} field:
<强> =GET.WORKBOOK(1,Sheet29!$B$1)&T(NOW())
强>
请注意,我是在Sheet29
上设置的。您应该将其更改为您正在使用的工作表。
从cell A2
,填写下面的公式并向下拖动以列出所有工作表名称:
<强> =INDEX(MID(SheetNames,FIND("]",SheetNames)+1,255),ROWS(A$1:A1))
强>
在我的示例中,我没有Sheet28
,并且工作表名称按从左到右的顺序排序。四处移动并查看结果。