卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

excel每張工作表中有b列,每行一個(gè)名字,怎么能匯總這些曾經(jīng)出現(xiàn)的名字到一個(gè)sheet?

網(wǎng)友解答: 謝謝邀請(qǐng)。這個(gè)問(wèn)題就是一個(gè)多表去重復(fù)的問(wèn)題,處理方法是使用vba。這里額外說(shuō)一下個(gè)人看法:這樣的需求實(shí)際上可以算是偽需求。一般情況下,銷售人員業(yè)績(jī)表實(shí)際上沒(méi)必要分成十幾張表,

網(wǎng)友解答:

謝謝邀請(qǐng)。

這個(gè)問(wèn)題就是一個(gè)多表去重復(fù)的問(wèn)題,處理方法是使用vba。

這里額外說(shuō)一下個(gè)人看法:這樣的需求實(shí)際上可以算是偽需求。

一般情況下,銷售人員業(yè)績(jī)表實(shí)際上沒(méi)必要分成十幾張表,一張表就好了。

只要格式規(guī)范,標(biāo)識(shí)明確,篩選一下什么數(shù)據(jù)都能出來(lái)。

這樣的好處是:利于后期統(tǒng)計(jì),不費(fèi)力氣,透視表基本就搞掂了。

而且還減少資源,使得EXCEL更快捷。

下面回到正題。


數(shù)據(jù)源是下面這個(gè)樣子的:

除匯總表之外的幾張工作表

各張工作表的姓名數(shù)據(jù)

思路:

1、遍歷工作表,讀取每個(gè)工作表的b列數(shù)據(jù)。

2、將每個(gè)工作表的b列數(shù)據(jù)都放進(jìn)字典,去除重復(fù)。

3、遍歷所有工作表后將字典的數(shù)據(jù)輸出到“匯總”工作表。

4、代碼如下:

Sub 多表提取不重復(fù)姓名()

'//定義變量

Dim i As Long

Dim arr

Dim LastRow As Long

Dim sht As Worksheet

Dim d As Object

Set d = CreateObject("scripting.dictionary") '創(chuàng)建字典

For Each sht In Sheets '遍歷工作表

If sht.Name < "匯總" Then '如果工作表的名稱不是匯總

With sht

LastRow = .Cells(Rows.Count, 2).End(xlUp).Row '讀取每個(gè)工作表b列最后非空行行號(hào)

arr = .Range("b2:b" & LastRow).Value '將數(shù)據(jù)寫(xiě)進(jìn)數(shù)組arr

End With

For i = 1 To UBound(arr) '遍歷數(shù)組

d(arr(i, 1)) = "" '將數(shù)組數(shù)據(jù)放進(jìn)字典的key中去除重復(fù)

Next

End If

Next

With Sheets("匯總") '//輸出去重復(fù)后的姓名到匯總工作表

.Range("b2:b65535").ClearContents '清除舊數(shù)據(jù),方便每次更新

.Range("b2").Resize(d.Count, 1) = Application.Transpose(d.keys) '輸出最后的姓名數(shù)據(jù)

End With

End Sub

最后的結(jié)果如下圖:


如果還需要金額匯總統(tǒng)計(jì)之類的,如下圖:

代碼如下:

Sub 多表提取不重復(fù)姓名并統(tǒng)計(jì)()

'//定義變量

Dim i As Long

Dim arr, brr(1 To 10000, 1 To 3)

Dim LastRow As Long

Dim sht As Worksheet

Dim d As Object

Set d = CreateObject("scripting.dictionary") '創(chuàng)建字典

For Each sht In Sheets '遍歷工作表

If sht.Name < "匯總" Then '如果工作表的名稱不是匯總

With sht

LastRow = .Cells(Rows.Count, 2).End(xlUp).Row '讀取每個(gè)工作表b列最后非空行行號(hào)

arr = .Range("b2:c" & LastRow).Value '將數(shù)據(jù)寫(xiě)進(jìn)數(shù)組arr

End With

For i = 1 To UBound(arr) '遍歷數(shù)組

If Not d.exists(arr(i, 1)) Then '判斷字典key是否存在,如果不存在

k = k + 1 '標(biāo)記行號(hào)

d(arr(i, 1)) = k '字典記錄姓名在數(shù)組brr中的行號(hào)

'//將第一條數(shù)據(jù)放進(jìn)數(shù)組brr

brr(k, 1) = arr(i, 1) '姓名

brr(k, 2) = arr(i, 2) '金額

brr(k, 3) = 1 '次數(shù)

Else

r = d(arr(i, 1)) '讀取姓名在數(shù)組brr中的行號(hào)

brr(r, 2) = brr(r, 2) + arr(i, 2) '金額累加

brr(r, 3) = brr(r, 3) + 1 '次數(shù)累加

End If

Next

End If

Next

With Sheets("匯總") '//輸出去重復(fù)后的姓名到匯總工作表

.Range("b2:d65535").ClearContents '清除舊數(shù)據(jù),方便每次更新

.Range("b2").Resize(k, 3) = brr '輸出最后的數(shù)據(jù)

End With

End Sub

結(jié)果如下:

以上僅供參考。


在使用Excel的時(shí)候,正確的用法是簡(jiǎn)單問(wèn)題簡(jiǎn)單處理,簡(jiǎn)單問(wèn)題不弄成復(fù)雜問(wèn)題。

網(wǎng)友解答:

powerquery+數(shù)據(jù)透視表批量合并匯總多表放大招

①powerquery批量合并多表動(dòng)畫(huà)演示

②數(shù)據(jù)透視表匯總演示

具體做法如下:

1、點(diǎn)擊數(shù)據(jù)——新建查詢——從文件——從工作簿(即要匯總的表格)

2、獲取工作簿位置導(dǎo)入表格

3、出現(xiàn)導(dǎo)航器,按住SHIFT選中所有表格確定

4、出現(xiàn)導(dǎo)航編輯器,預(yù)覽導(dǎo)入的效果,刪除多余的列

5、追加查詢更多的表格,確定

6、確定后就直接導(dǎo)入表格中生成匯總表了

7、匯總在一起不代表求和,就只是將所有的內(nèi)容合并在一個(gè)表格中,只要點(diǎn)擊這個(gè)表格的任意一單元格就可以通過(guò)數(shù)據(jù)透視表匯總

a、將鼠標(biāo)放在數(shù)據(jù)區(qū)域任意一單元格——點(diǎn)擊設(shè)計(jì)——通過(guò)數(shù)據(jù)透視表匯總——選中匯總表放置的區(qū)域——確定

b、彈出數(shù)據(jù)透視表字段,將姓名放在行字段,業(yè)績(jī)放在值字段就生成匯總表格了

更多小技巧歡迎留言關(guān)注我的酷米號(hào):Excel辦公小動(dòng)畫(huà)

標(biāo)簽: