農林漁牧網

您現在的位置是:首頁 > 農業

Excel如何進行多表資料合併計算,一個函式幫你完成

2021-12-20由 江覓 發表于 農業

表一和表二的資料怎樣關聯

NO。1 Consolidate方法介紹

Excel工作表進行計算,如何多表進行?

Range物件給出了一個方法,很方便地實現了多表之間進行單元格計算。

方法:Range。Consolidate

(sources、Function、 TopRow、 LeftColumn、 CreateLinks)

功能:將多個工作表中多個區域的資料合併計算至單個工作表上的單個區域

Excel如何進行多表資料合併計算,一個函式幫你完成

Consolidate有一些引數,具體內容檢視下圖。

Excel如何進行多表資料合併計算,一個函式幫你完成

這裡主要說一下Function引數,其功能是指定要執行的合併型別,就是說要以什麼方式來合併。

XlConsolidationFunction是引數常量,可以求和、平均、乘積、最大數、最小數等等不同型別進行資料合併計算。

Excel如何進行多表資料合併計算,一個函式幫你完成

XlConsolidationFunction常量表

NO。2 舉例說明

Excel如何進行多表資料合併計算,一個函式幫你完成

本例分別以求和、平均、最大值、最小值、乘積、計數為合併型別。

操作方式以選擇表格內任意單元格,對錶一和表二兩個工作表相同單元格內容進行合併計算,計算結果顯示到相應位置。

相對來說,程式碼整合為一個函式功能裡面,直接呼叫函式即可實現所有計算。

做到簡單高效。

NO。3 程式碼解釋

Excel如何進行多表資料合併計算,一個函式幫你完成

合併計算函式

Private Sub Functions(v As Integer, vR As Range)On Error Resume Next‘功能:表一和表二選擇單元格進行計算Dim w’定義工作表陣列w = Array(“計算表一”, “計算表二”)Dim wStr As StringwStr = “!”Dim R As RangeSet R = SelectionDim i As Integer, n As Integern = R。Count * (UBound(w) + 1)‘陣列大小為表數量乘以選擇單元格數If n <= 0 Then Exit SubDim RArr ’定義陣列ReDim RArr(1 To n)Do ‘給陣列 賦值 For x = 0 To UBound(w) For s = 1 To R。Count i = i + 1 RArr(i) = w(x) & wStr & R。Item(s)。 _Address(ReferenceStyle:=xlR1C1) ’取計算範圍 Next s Next xLoop While i < nvR。SelectSelection。Consolidate sources:=RArr, _Function:=FunctionArr(v)‘執行合併計算End Sub

分類彙總方式陣列定義放到通用聲明裡

Dim FunctionArr ’定義計算方式陣列

分類彙總方式陣列函式

Private Sub setFunction() ‘設定計算功能程式碼’XlConsolidationFunction 常量陣列定義 FunctionArr = Array(xlSum, xlAverage, _xlCount, xlMax, xlMin, xlProduct)End Sub

函式呼叫

Private Sub CommandButton1_Click()‘合併求和Dim vR As RangeSet vR = Me。Range(“B2”)setFunctionCall Functions(0, vR)End Sub

重點說明

sources引數

引數說明:

以文字引用字串陣列的形式給出合併計算的源,該陣列採用 R1C1-樣式表示法。 這些引用必須包含將要合併計算的工作表的完整路徑。

此引數是對合並資料單元格進行定位,是以陣列形式傳遞地址,以R1C1樣式表示,並且要單元格完整路徑,所以在對Sources引數進行設定的時候要特別注意。

NO。4

以上程式碼整合到一起就完成了兩個表資料合併計算功能了。

如想要對更多工作進行合併計算,相應地對工作表陣列(w)進行增加即可實現。

總體思路就是這樣,對於兩張表進行計算並不能發揮出其方法的優勢,要進行幾百張表進行合併計算還是十分有效的。

所以,學習深入以後,對於多表進行操作就很有幫助了。

歡迎關注、收藏