Tho*_*mas 8 excel vba excel-vba excel-formula
我目前在excel文件中有2个工作表.
第一个工作表称为"摘要"页面,它显示第二个工作表的摘要结果.
第二张表称为原始数据.一个例子是名为Fruits的列.
Apple
Apple
Apple
Banana
Banana
Pear
Run Code Online (Sandbox Code Playgroud)
在第一张表中,我将有一个公式,计算相应水果出现的时间,结果将显示在不同的单元格中.
=COUNTIF(Fruits!A2:A7,"Apple")
=COUNTIF(Fruits!A2:A7,"Banana")
Run Code Online (Sandbox Code Playgroud)
我想做的是,我是否可以对公式进行编程,以便每次添加新的原始数据表(第3张)时,第一张表上的统计数据都可以引用最新的表格来获取信息.
(假设数据的定位和所有都与第二张相同.)
到目前为止我所做的是提出一个GETLASTWSNAME()
能够始终检索最后一个工作表名称的函数.但是我似乎不可能在countif公式本身中嵌入函数.
=COUNTIF((GETLASTWSNAME())!A2:A7,"Apple)
Run Code Online (Sandbox Code Playgroud)
上面的公式是我希望我的公式如何工作,但遗憾的是excel不允许我这样做.
任何意见将不胜感激.谢谢!
bre*_*tdj 10
如果您愿意,可以使用XLM/Range Name解决方法而不是VBA
=RIGHT(GET.WORKBOOK(1),LEN(GET.WORKBOOK(1))-FIND("]",GET.WORKBOOK(1)))
=INDEX(wshNames,COUNTA(wshNames)+RAND()*0)
该公式表示查看所有工作表,然后返回最后一个(使用COUNTA).该RAND()*0)
部分确保公式是易变的并在Excel执行时更新
如果使用VBA,则需要确保GETLASTWSNAME
函数是易失性的,即在发生更改时会更新.