php 能让拆分的表格循环吗,这才是拆分表格最完美的方法
最近發(fā)現(xiàn)有好多小伙伴都在問(wèn)怎么將一個(gè)表快速地拆分成多個(gè)。其實(shí)這個(gè)操作起來(lái)非常簡(jiǎn)單,只需要用數(shù)據(jù)透視表的“顯示報(bào)表篩選頁(yè)”就可以快速完成,這是最簡(jiǎn)單、高效的方法??吹竭@里有小伙伴肯定要點(diǎn)“返回”按鈕了,因?yàn)橐呀?jīng)掌握了嘛!不過(guò)呢,你要是覺(jué)得李老師也是“普通青年”,那你就錯(cuò)了,不看到最后你永遠(yuǎn)不知道你會(huì)得到什么!阿甘有句著名的哲言,一起欣賞一下。
Life is like a box of chocolates, you never know what you are gonna get.
如下是一份數(shù)據(jù)表,我們需要按照產(chǎn)品,把對(duì)應(yīng)的數(shù)據(jù)顯示到不同的工作表中。
我們還是先講一下用數(shù)據(jù)透視表怎么分頁(yè)吧。
Step 1、插入數(shù)據(jù)透視表
插入數(shù)據(jù)透視表,將“產(chǎn)品”字段放到“篩選”區(qū)域,將其他所有需要的字段都放到“行”區(qū)域,如果是數(shù)值型字段,也可以放到“值”區(qū)域。
2、顯示報(bào)表篩選頁(yè)
選中數(shù)據(jù)透視表上任意一個(gè)單元格,點(diǎn)擊【分析】選項(xiàng)卡,在“數(shù)據(jù)透視表”的“選項(xiàng)”下拉菜單中點(diǎn)擊“顯示報(bào)表篩選頁(yè)”。
在彈出的對(duì)話框中選中需要按照哪個(gè)字段拆分。如果在“篩選”區(qū)域添加了多個(gè)字段,這里都會(huì)列出來(lái),我們只要選中拆分依據(jù)的那個(gè)字段就可以了。
咻咻咻~幾秒鐘就可以創(chuàng)建數(shù)個(gè)工作表,并且每個(gè)工作表里面顯示的內(nèi)容和工作表標(biāo)簽指示的內(nèi)容是一致的。也就是說(shuō),每個(gè)數(shù)據(jù)透視表都做好了篩選來(lái)顯示不同的內(nèi)容。
是不是超級(jí)簡(jiǎn)單?
說(shuō)實(shí)話,對(duì)有些同學(xué)來(lái)講,這個(gè)可能還不夠完美,這是因?yàn)椤爱a(chǎn)品”這個(gè)字段沒(méi)有體現(xiàn)在數(shù)據(jù)表中,而是在篩選頁(yè)中;
生成的是數(shù)據(jù)透視表,而不是表格。
搬過(guò)來(lái)小板凳,坐好了,李老師開(kāi)始放大招了~
下面我們用VBA結(jié)合SQL查詢(xún)的方式來(lái)實(shí)現(xiàn)拆分。
兩種方法,你喜歡哪一種?
還有的小伙伴會(huì)用字典的方法實(shí)現(xiàn)拆分。但是我用之前文章中提到的超過(guò)20萬(wàn)行的數(shù)據(jù)來(lái)拆分,使用VBA SQL法不用一分鐘就搞定,使用VBA代碼法則估計(jì)要花費(fèi)幾十分鐘才可以。我測(cè)試了一下,過(guò)了二十幾分鐘,字典法才運(yùn)行到57000多行。不是因?yàn)槲业碾娔X慢哦,Intel的4核I7處理器,8G內(nèi)存,所以不是電腦的事兒,應(yīng)該是代碼的效率問(wèn)題。如果實(shí)際應(yīng)用中的數(shù)據(jù)沒(méi)有這么多,也可以考慮字典法。
字典方法的實(shí)現(xiàn)思路
1、用循環(huán)檢查分類(lèi)字段中的項(xiàng)是否在字典中存在,如果不存在該項(xiàng)就添加新項(xiàng)目,值等于該行單元格區(qū)域(作為對(duì)象來(lái)賦值);如果存在該項(xiàng)就用Union方法聯(lián)合該項(xiàng)對(duì)象和新的單元格區(qū)域。
2、遍歷字典,循環(huán)創(chuàng)建工作表,將字典內(nèi)容輸出到新工作表中。
附字典法的代碼,供學(xué)習(xí)參考。
另外,如果你想把拆分后的每個(gè)工作表單獨(dú)保存為一個(gè)工作簿文件,請(qǐng)參考以下內(nèi)容。
--End--
總結(jié)
以上是生活随笔為你收集整理的php 能让拆分的表格循环吗,这才是拆分表格最完美的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 蓝牙防丢器实现安卓的BLE接口编程
- 下一篇: php获取视频时长