二維碼 購物車
部落窩在線教育歡迎您!

Power Query實戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)

?

作者:阿碩來源:部落窩教育發(fā)布時間:2021-09-22 10:28:42點擊:4680

分享到:
0
收藏    收藏人氣:0人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

哈嘍各位小伙伴,Power Query(后文簡稱PQ)作為數(shù)據(jù)清洗整理的利器,能夠輕松解決很多復雜函數(shù)才能搞定的問題。在日常的工作中,我們會遇到這樣一種問題:要求以某一條數(shù)據(jù)為起始點,按照指定次數(shù)進行遞增。最常規(guī)的運用就是做公司規(guī)劃、值班排班表等等。今天我們就來學習一下如何用PQ解決這個問題。

 

哈嘍,大家好,歡迎來到部落窩教育!我是阿碩。前段時間,我們推送過一個教程,講的是利用PQ按指定次數(shù)重復數(shù)據(jù):《Excel教程:比vlookup簡單!用這個技巧做重復數(shù)據(jù),只用1分鐘!》很多小伙伴看完這個教程之后,感覺很實用。同時呢,也收到一些小伙伴的留言,咨詢一個十分類似的問題——想要按照指定次數(shù)生成一組遞增的數(shù)據(jù),有什么好的辦法嗎?

 

今天,讓我們共同來學習一下該如何解決這個問題。

 

數(shù)據(jù)如下圖所示,A列中的數(shù)據(jù)是起始數(shù),B列中的數(shù)據(jù)是遞增數(shù)。要達成什么樣的目的呢?以第2行的數(shù)據(jù)為例,起始數(shù)為1,遞增數(shù)為4,則需要生成1、23、4這四個數(shù)據(jù)。再以第3行的數(shù)據(jù)為例,起始數(shù)為6,遞增數(shù)為3,則需要生成6、7、8這三個數(shù)據(jù)。其余以此類推。

 

 

下面,讓我們開啟今天的學習之旅。

 

Step 1  進入PQ編輯器


首先,我們點擊數(shù)據(jù)區(qū)域中的任意一個單元格,如B2。然后依次點擊【數(shù)據(jù)】-【自表格/區(qū)域】,彈出“創(chuàng)建表”對話框?!氨淼臄?shù)據(jù)來源”已經(jīng)由Excel自動為我們判斷出來($A$1:$B$5區(qū)域),保持其不變即可。接著勾選“表包含標題”(若已勾選則保持其被勾選即可),如下圖所示。

 

 

點擊“確定”之后,就可以進入PQ編輯器,如下圖所示。

 

 

Step 2  添加自定義列


接下來,我們要添加一個自定義列,這個自定義列就是輔助我們生成遞增數(shù)據(jù)的列。依次點擊“添加列”-“自定義列”,彈出“自定義列”對話框,如下圖所示。

 

 

在“新列名”下方的對話框中,PQ為我們自動設置了新增加的數(shù)據(jù)列的列名,為“自定義”,我們保持其不變即可(注:在此處,對列名進行更改也是可以的;本例中采用的是在最后微調(diào)數(shù)據(jù)的時候更改,見后文)。

 

在“自定義列公式”下方的等于號(“=”)后面,我們輸入一個M函數(shù)公式: ={[起始數(shù)]..[起始數(shù)]+[遞增數(shù)]-1}。如下圖所示。

 

 

M函數(shù)公式解析:

起始數(shù)和“遞增數(shù)”是原始數(shù)據(jù)中的標識字段,進入PQ后,它們各自代表PQ中的一個變量,其所對應的值就是相應的起始數(shù)或遞增數(shù)。

..”的意思就是從起始數(shù)至遞增數(shù)的“至”,M函數(shù)公式的最外層是一對大括號,其意思是生成一個List(具體含義后文我們有講到)。

[起始數(shù)]+[遞增數(shù)]-1}”,它的意思就是從起始數(shù)開始,按照遞增的數(shù)量,所遞增到的最大值。

此處,大家要注意理解一下為什么要減去1。這是因為數(shù)據(jù)是從自身開始遞增的,如果不減去1的話,遞增的次數(shù)就會多出一次。

綜上,上面所寫的M函數(shù)公式,它的意思就是在PQ中增加一個自定義列,這個自定義列里的數(shù)據(jù)為從數(shù)據(jù)自身到所遞增的最大值之間的所有數(shù)據(jù)(整數(shù))。

 

點擊“確定”后,得到的結(jié)果如下圖所示。

 

 

可以看到,在原有的“起始數(shù)”、“遞增數(shù)”這兩列數(shù)據(jù)后面,又增加了新的一列,該列名為“自定義”,該列中每一個數(shù)據(jù)的值均為“List”。

 

TipsList”是PQ中的一種數(shù)據(jù)類型,我們把它理解成一個數(shù)組就行啦!說簡單點,一個“List”中一般含有多個數(shù)據(jù),它是一個數(shù)據(jù)的集合。如果想要查看“List”中的數(shù)據(jù),我們可以點擊任意一個“List”進行查看。例如,我們點擊第1行中的“List”,則可以在數(shù)據(jù)下方的預覽框中看到,其中的數(shù)據(jù)為1、2、3、4(每個數(shù)字各占一行),如下圖所示。

 

 

Step 3  對數(shù)據(jù)進行“展開”操作


接下來,我們點擊“自定義”列名后面的“展開”按鈕,然后點擊“擴展到新行”,如下圖所示。

 

圖形用戶界面, 文本, 應用程序, 表格

描述已自動生成

 

點擊“擴展到新行”之后,得到的結(jié)果如下圖所示。

 

 

可以看到,此時數(shù)據(jù)中沒有新增的列,但卻有新增的行。數(shù)據(jù)已經(jīng)由原來的4行,變成了14行。同時,請大家注意看一下“自定義”這一列!其中的數(shù)據(jù),已經(jīng)由“List”變成了具體的數(shù)值。而這些具體的數(shù)值,就是我們所需要的從起始數(shù)按指定次數(shù)遞增之后的數(shù)據(jù)。

 

接下來,我們可以根據(jù)需要,再微調(diào)一下數(shù)據(jù)。

(1)  刪除“起始數(shù)”和“遞增數(shù)”這兩列。具體操作為:分別右鍵單擊“起始數(shù)”或“遞增數(shù)”兩列數(shù)據(jù)的列名,在彈出的菜單中,選擇“刪除”,即可。最終,我們在數(shù)據(jù)中只保留“自定義”這一列。

(2)  對“自定義”列重命名。具體操作為:右鍵單擊“自定義”這一列的列名,選擇“重命名”,然后將這一列重命名為“遞增后的數(shù)據(jù)”。

這幾個微調(diào)的操作比較簡單,就不給小伙伴們截圖演示了,大家自己來操作一下就行了。經(jīng)過微調(diào)之后,得到的數(shù)據(jù)如下圖所示。

 

 

Step 4  上載數(shù)據(jù)


最后,我們依次點擊“上載”-“關閉并上載”-“關閉并上載”,將數(shù)據(jù)上載至Excel數(shù)據(jù)表中即可。所得到的結(jié)果如下圖所示。

 

 

 

小伙伴們,今天學的內(nèi)容,你掌握了嗎?

 

本文配套的練習課件請加入QQ群:902294808下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關注公眾號,可隨時隨地學習Excel

IMG_256

相關推薦:

7個Excel小技巧,提高表格查看效率

Excel運用規(guī)范1:一個單元格只記錄一條信息

快速整理不規(guī)范的Excel表格的7個公式

9條最實用的計算excel中關于日期的公式!(建議收藏)

版權(quán)申明:

本文作者阿碩;同時部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。