excel函數應用:如何用公式讓單元格內容定量重複

2019-10-13     部落窩教育h



編按:哈嘍,大家好!今天分享一位群友的問題,大致需求是要將excel中的數據按照指定的數量進行重複。問題一經發布,得到的回答大多是讓這位小夥伴使用VBA來解決,但是對於一般的職場人士而言,能掌握VBA的可以說是寥寥無幾。那除了VBA外還有沒有其他的解決方法呢?答案是肯定的。今天老菜鳥就給大家分享一個使用常用函數就能解決這個問題的妙招,一起來看看吧!

*********

今天在群里看到一位群友的問題,要求很簡單,將A列數據整理為B列的效果,如圖所示:



為了便於理解問題,將數據按顏色進行了分類,簡單來說,A列是對品牌、型號和數量進行合併後的一個描述,現在需要按照數量將數據進行拆分。

為什麼會有這樣的問題我們不做討論,但是如果遇到這樣的問題應該怎麼解決,才是我們關注的重點。

問題一發出來,大多數回復都是用VBA解決,但對於一般的職場人士來說,掌握VBA這個技術的寥寥無幾,通常我們只會幾個函數,一些基礎操作而已,那麼這個問題還有救麼?

其實只要搞明白問題的特點,解決的方法總是有的,下面就和老菜鳥一起嘗試通過一些基本的函數和操作來處理這個貌似只有VBA才能解決的問題吧。

***

解決這個問題大致上分為以下幾個步驟:

第一步:提取數量

如果你使用的是Excel2013及以上版本的話,這個就很容易,輸入第一個數字,回車後按Ctrl+E組合鍵就可以完成。



如果你的版本還沒有這個功能,也不用灰心,因為上圖中數字出現的位置還是比較有規律的,用公式提取也是完全可以的。

公式:=SUBSTITUTE(MID(A2,FIND("匹/",A2)+2,9),"台",""),結果如圖所示:

這個公式也是提取類問題的一個常用套路,首先找到"匹/"這個內容在單元格中出現的位置,然後再用MID函數提取出「3台」,最後用SUBSTITUTE函數將"台"這個字替換為空,就得到了所需要的數字。

提取數字的思路有很多,只要得到需要的結果就可以了。

第二步:得到一組數字,為第三步做準備

這一步就很簡單了,在C1單元格輸入1,C2單元格輸入公式:=B1+C1,然後下拉得到一組數字,操作過程如圖所示:



得到這麼一串數字有什麼用呢?看完第三步操作就明白了。

第三步:利用LOOKUP函數按照指定的重複數量排列


公式=LOOKUP(ROW(A1),$C$2:$C$5,$A$2:$A$5)的作用很明顯,就是把A列的內容按照數量重複排列了出來。

這個公式利用了LOOKUP的基本套路,不熟悉這個套路的小夥伴可以看看往期教程。

簡單分析一下公式的原理,首先,在這個公式中,查找值(也就是第一參數)不是固定的,而是用了ROW(A1),這樣公式在下拉的時候,查找值就會依次變成1、2、3……

條件區域使用的是我們在上一步中得到的那組數字,LOOKUP有個特性,當LOOKUP函數找不到查找值時,會與查找區域中小於或等於查找值的最大值進行匹配。

換句話說,查找區域中只有1、4、6、8這四個數字,當查找值為1、2、3的時候,查找區域中小於這三個數字的只有1,因此得到的就是結果區域(也就是第三參數)中的第一個值。

以此類推,當查找值為4、5的時候,小於這兩個數字的有1和4,二者中最大的是4(是條件區域中的第二個數),因此得到的就是結果區域中的第二個值。

第三步完成後,結果已經非常接近最終的目標了,最後一步只需要將數量都變成1即可。

第四步:將產品數量變為1

還是使用一個公式來實現,公式為:=LEFT(D2,FIND("匹",D2))&"/1台"



公式的作用就是用LEFT+FIND函數組合將D列中"匹"字之前的內容提取出來,然後統一添加"/1台",就得到了最終的結果。

總結:遇到一些相對複雜的問題時,首先要理清問題的要點,利用自己已經掌握的技術一點一點去實現,能達到目的的一切方法都值得一試。

****部落窩教育-excel單元格重複****

原創:老菜鳥/部落窩教育(未經同意,請勿轉載)

更多教程:部落窩教育(www.itblw.com)

微信公眾號:exceljiaocheng

文章來源: https://twgreatdaily.com/dX-CxG0BMH2_cNUgAbgf.html