v
小伙伴們好啊,今天咱們來分享一個簡單實用的Excel公式組合,點滴積累,也能提高效率。
如下圖所示,每個工作表的格式一樣,但是數據行數不同。每個工作表D列的最后一行是當前表格中的合計數:

現在要在匯總表中,得到每個工作表的D列的合計數量。

想出解決方法了嗎?
其實一個INDIRECT函數就搞定:
=LOOKUP(9^9,INDIRECT("'"&A2&"'!D:D"))

首先咱們看看規律,第一個特點,是A列的倉庫名稱和工作表名稱都是一樣的。第二個特點,是這些工作表名稱中有的包含有空格或是括號等特殊符號。
首先咱們借助A2的工作表名稱,用一堆字符串連接到一起,組成具有引用樣式的字符串。
"'"&A2&"'!D:D"
連接后的結果就是這樣的:
"'興農1號倉'!D:D"
工作表名稱中有空格或者特殊符號,需要在工作表名稱前后加上單引號,大家使用時需要注意哦。
不過現在咱們僅僅得到一個具有引用樣式的文本,還不是真正的單元格引用。這時候就需要INDIRECT函數來幫忙了,INDIRECT函數的作用就是將具有引用樣式的文本字符串變成真正的引用啦。
由于合計數所在的行數不固定,所以咱們先得到D列整列的引用。
現在,咱們只要得到D列的最后一個數值,這個數值就是合計數啦。可如果得到呢?咱們再請LOOKUP函數來幫個忙。
LOOKUP函數第一參數使用一個非常非常大的數值,在小IN同學得到的D列引用中來查詢這個數值。
在找不到具體的查找值時,LOOKUP就會返回比查詢值小的最大值。即便是沒有經過升序處理,小LO也會認為已經排序處理過了,想當然的認為最后一個數值就是這一列中最大的一個,所以就返回D列最后一個數值進行匹配了。
大家快試下,是不是很簡單!工作效率瞬間提升啦。