[英]How do I reference a sheet name in my SUMPRODUCT Formula in MS Excel?
[英]How do I get my formula to always reference to the last sheet?
我目前在我的 excel 文件中有 2 個工作表。
第一個工作表稱為“摘要”頁面,它顯示第二個工作表的摘要結果。
第二張表稱為原始數據。 一個例子是名為 Fruits 的列。
Apple
Apple
Apple
Banana
Banana
Pear
在第一張表中,我將有一個公式來計算各個水果出現的次數,並且結果將顯示在不同的單元格中。
=COUNTIF(Fruits!A2:A7,"Apple")
=COUNTIF(Fruits!A2:A7,"Banana")
我想要做的是,我是否可以對公式進行編程,以便每次添加新的原始數據表(第三張表)時,第一張表上的統計數據都可以參考最新的表來獲取信息。
(假設數據的定位和所有的都和第二張表一樣。)
到目前為止,我所做的是推出了一個函數GETLASTWSNAME()
,它能夠始終檢索最后一個工作表的名稱。 但我似乎不太可能將函數嵌套在 countif 公式本身中。
=COUNTIF((GETLASTWSNAME())!A2:A7,"Apple)
上面的公式是我希望我的公式如何工作,但遺憾的是 excel 不允許我這樣做。
任何意見將不勝感激。 謝謝!
如果您願意,您可以使用 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
函數是易變的,即在發生更改時它會更新。
=COUNTIF(INDIRECT(GETLASTWSNAME() & "!A2:A7"),"Apple")
在帶有溢出函數和新的 Sequence() 的 Excel 中,您可以使用相同的技術從一個單元格中列出所有工作表名稱! 先到后或后到先,您的選擇。 使用 Transpose,您可以獲得每張表的列標題(Obs volatile)。
按照 Tomalak 的說法定義命名公式 wshNames 后(感謝您的提示),我使用了:
=INDEX(wshNames;COUNTA(wshNames)+1-SEQUENCE(COUNTA(wshNames);1;COUNTA(wshNames);-1))
我的 Excel 正在使用“;” 作為分隔符,您可能需要用逗號更改分號 Rolf H
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.