原文標(biāo)題:哪位 Excel 高人琢磨出的這個(gè)據(jù)整理技巧太有用了!小 E 做了一場「直播喜活動(dòng)」,束后有許多遞需要發(fā)。了節(jié)約物流本,他信心滿的跟老板:可以將相訂單數(shù)據(jù)匯合并后,一發(fā)貨。老板聽,決定全交由他搞。下好了,可的小 E 不僅要搞數(shù)據(jù)還要打包一快遞,非常頭疼。在之的文章,我給大家分享函數(shù)和方方子插件法。天,小爽就給大家介紹下其他的方,看看利用 PQ,我們是如何解決這問題的。PS:PowerQuery (簡稱 PQ),是 Excel 2016 及以上版本自帶的件,M 函數(shù)是 PQ 中的函數(shù)叫法由于存在同信息有多筆單數(shù)據(jù)的情,為了簡化題的難度,便大家理解我們先制作個(gè)匯總輔助。溫馨提示PQ 的做法,需要涉及幾個(gè)基礎(chǔ)的 M 函數(shù),不過也不難~分組依據(jù)使用 PQ,自然是需要先將數(shù)源導(dǎo)入到 PQ 編輯器里面啦!選中助表的表格域,在【數(shù)】選項(xiàng)卡下單擊【來自格 / 區(qū)域】,單擊【定】按鈕。入到 PQ 編輯器后,一步,就是進(jìn)行分組啦PQ 中的分組問題,我用到的是分依據(jù)功能~?? 何為分組依據(jù)?分組依的功能,有像數(shù)據(jù)透視,對指定字數(shù)據(jù)進(jìn)行篩統(tǒng)計(jì)。它可指定多個(gè)字作為條件,可以同時(shí)統(tǒng)多個(gè)結(jié)果。組依據(jù)可以持的統(tǒng)計(jì)方包括:求和平均值、最值,非重復(fù)計(jì)數(shù)和所有。知識點(diǎn)補(bǔ)完畢,大家著我來看看作~選中需要分組的列,就是我們的名和手機(jī)列在【轉(zhuǎn)換】項(xiàng)卡下單擊分組依據(jù)】出現(xiàn)分組依對話框。新名:發(fā)貨數(shù)操作:所有這個(gè)時(shí)候,們可以看到格按照姓名手機(jī)號分組,多了一個(gè)貨數(shù)量列。貨數(shù)量列中一行的 Table 里面就包含了當(dāng)行篩選后的格數(shù)據(jù)。按合并分組后類型 type 后面的內(nèi)容對全局不響,為了代簡潔性可以掉。刪掉后公式更簡潔~=Table.Group源,{"姓名","手機(jī)號"},{{"發(fā)貨數(shù)量",each_}})each_中的下劃線就代表每一中的篩選后表的數(shù)據(jù)。接著,如下所示,我們要把分組后貨數(shù)量這一里面,篩選的數(shù)據(jù)表中產(chǎn)品名稱和總個(gè)數(shù)用星 (*) 一一進(jìn)行合并如下圖:=Table.Group源,{"姓名","手機(jī)號"},{{"發(fā)貨數(shù)量",eachTable.ToList(_,(x)=x{2}&"*"&Text.From(x{3}))}})Table.ToList(_,(x)=x{2}&"*"&Text.From(x{3}))Table.ToList 函數(shù)主要是將表每一行的產(chǎn)名稱和匯總數(shù)進(jìn)行處理其中,產(chǎn)品稱在每一行引中的第 2 個(gè);匯總個(gè)數(shù)在每一行引的的第 3 個(gè)。?? Table.ToList 函數(shù)是?Table,是表的意思,ToList,是轉(zhuǎn)換列表的思。這個(gè)函就是用來處每一行數(shù)據(jù)。Table.ToList 有兩個(gè)參數(shù):=Table.ToList表,(x)=x)x?代表每一形成的列表 Tip:上面我加大了點(diǎn)點(diǎn)難度,實(shí)我們也可事先在輔助中先把產(chǎn)品稱和匯總個(gè)進(jìn)行合并了這樣大家應(yīng)更容易理解將輔助表導(dǎo)分組后,直取合并的列可以了。列合并最后一,就是將合后的產(chǎn)品名和匯總個(gè)數(shù)整個(gè)列表用隔符合并起。在原先的礎(chǔ)上,需要用 Text.Combine 函數(shù)將 list 用逗號進(jìn)行并。?? Text.Combine 函數(shù)是?Text,是文本的意思,Combine,是結(jié)合的意思這個(gè)函數(shù)就用來文本連的!Text.Combie 有兩個(gè)參數(shù):=Text,Combie文本序列分隔符案例,加一個(gè) Text.Combie:=Table.Group源,{"姓名","手機(jī)號"},{{"發(fā)貨數(shù)量",eachText.Combine(Table.ToList(_,(x)=x{2}&"*"&Text.From(x{3})),",")}})如果有做合并列的輔表。=Table.Group源,{"姓名","手機(jī)號"},{{"發(fā)貨數(shù)量",eachText.Combine([合并],",")}})到這里就搞定啦~如果不想要有輔助的做法,就要兩層分組思路跟前面一樣的,就多加了個(gè) Table.Group 分組,學(xué)有余的小伙伴可試試。let源=Excel.CurrentWorkbook(){【Name="表?1"】}【Content】,分組的行=Table.Group源,{"姓名","手機(jī)號"},{{"發(fā)貨數(shù)量",eachText.Combine(Table.ToList(Table.Group_,{"產(chǎn)品名稱"},{{"a",(x)=Text.From(List.Sum(x【商品數(shù)量】)}}),(y)=y{0}&"*"&y{1}),";")}})in分組的行最的話本文主講解了「如用 PQ 解決復(fù)雜合并類項(xiàng)」的問,為了簡化題,文中制了一個(gè)輔助。其中涉及下知識點(diǎn): 分組依據(jù),能夠?qū)⒍嘧?進(jìn)行匯總合統(tǒng)計(jì),如果要返回所有,在操作中所有行就可了。? Table.ToLIst 可以對表中每行數(shù)據(jù)進(jìn)行一步操作。 Text.Combine 主要就是通過指定分符合并列表本文來自微公眾號:秋 Excel (ID:excel100),作者:小?