sumif跨表格引用,Sumif函數是條件求和函數,一般我們只是用於單表求和,今天本文就學習sumif函數的高級用法,跨多表條件求和。下面介紹sumif跨表格引用。
sumif跨表格引用1
例如表2的數據要用到表1的數據 如圖爲表1。 姓名爲A列,割接方案爲C列 表2其實是跟表1差不多一樣的表,只是後面多了幾列公式 如果我在表2想求張三的割接方案份數,則公式是用SUMIF(表1!A1:A5,A1,表1!C1:C5). 但問題是當我把基礎表即表1某些人名或者順... 如表2的數據要用到表1的數據
如圖爲表1,表1!C1,割接方案爲C列
表2其實是跟表1差不多一樣的表,只是後面多了幾列公式
如果我在表2想求張三的割接方案份數,則公式是用SUMIF(表1!A1:A5,A1:C5)。
姓名爲A列 展開 這是表二
sumif(range,criteria,sumrange)中的第一項range範圍和第三項sumrange求和範圍需要引用不同工作表中的數據,如何引用?
比如,需要判斷表1、表2、表3的D列數值是否爲0,將其中數值不爲0的表1、表2、表3的'A列數值相加求和。
sumif跨表格引用2
sumif的高級用法:跨多表條件求和
officezhushou2019-02-03 20:02
一、工作表名規則(序號+字符)
【例】如下圖所示,有1日~5日5個列相同、行數不同的明細表,要求彙總出每個產品的銷量之和。
分表:
彙總表
分析:
如果只有一個表,我們只需要用sumif函數直接求和:
=SUMIF(1日!B:B,合計!A2,1日!C:C)
對於多個表,除了用sumif()+sumif+sumif()...外,Sumif函數支持多表同時求和,但必須用indirect函數生成對多個表的引用,即:
INDIRECT(ROW($1:$5)&"日!B:B")
INDIRECT(ROW($1:$5)&"日!C:C")
(回覆 Indirect 可以查看該函數的用法)
用sumif組合起來,即:
=SUMIF(INDIRECT(ROW($1:$5)&"日!b:b"),A2,INDIRECT(ROW($1:$5)&"日!c:c")而上述的公式返回的每個表的求和結果,是一組數,最後還需要用sumrpoduct函數進行求和,即:=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$5)&"日!b:b"),A2,INDIRECT(ROW($1:$5)&"日!c:c")))
二、工作表名稱不規則
工作表名稱常常是不規則的,如下圖所示
分析:
首先我們需要用宏表函數取得表名
公式 - 名稱管理器 - 新建名稱 - 在新建名稱中輸入名稱“sh”,然後“引用位置”框中輸入公式:
=MID(BOOK(1),FIND("]",BOOK(1))+1,99)&T(now())
公式說明:
BOOK(1)是宏表函數,當參數是1時,可以獲取當前工作簿中所有工作表名稱,由於名稱中帶有工作簿名稱,所以用FIND+MID截取只含工作表名稱的字符串。&T(now())的作用是讓公式自動更新。
然後,我們就可以在公式中用 sh&"! 替換原來的ROW($1:$5)&"日!,
最終公式爲:
=SUMPRODUCT((SUMIF(INDIRECT(sh&"!b:b"),D2,INDIRECT(sh&"!c:c"))))
由於sh取得的名稱中包括“合計”,所以彙總表在製作時,要避開B列和C列,以免造成循環引用。