“大數化(huà)小”運用函數的問題解決技巧

2019/8/31 10:52:55

經常遇到這(zhè)樣的朋(péng)友:掌握了(le)足夠多的函數,但(dàn)是遇到複雜問題,沒辦法一(yī)步到位時(shí)就(jiù)感到為(wèi)難了(le),覺得無從下(xià)手。尤其是數據量比較大、基礎的手動操作(zuò)費時(shí)費力的時(shí)候更是讓人(rén)無法自拔。

在這(zhè)裏,我分(fēn)享一(yī)個(gè)“大數化(huà)小”,把原始的“大數據”看作(zuò)“小(1)數據”,構建解決方案,然後反推至“大數據”調整,最後進行驗證,逐步解決的思路(lù)。


案例數據:

這(zhè)次選用的案例是如(rú)下(xià)這(zhè)樣一(yī)組模拟數據:

image.png

該數據由兩列組成:第一(yī)列是企業名稱,第二列是其對應的關(guān)鍵詞。該數據不符合數據庫的一(yī)般結構,因為(wèi)缺少索引(Index)。需求就(jiù)是對這(zhè)個(gè)數據進行轉換,每個(gè)單位規整為(wèi)一(yī)條記錄(一(yī)行),在企業名稱字段後依次列出該企業的所有關(guān)鍵詞。借以實現(xiàn)的數組嵌套,函數公式為(wèi):{=TRANSPOSE(OFFSET(關(guān)鍵詞!$B$1,MATCH(A2,關(guān)鍵詞! A:A,0)-1,0, COUNTIF(關(guān)鍵詞!A:A,Sheet2!A2),1))}
乍一(yī)看,公式這(zhè)麽複雜,那麽是如(rú)何構思出來(lái)的呢(ne)?

解題思路(lù):

1、從中拎出來(lái)一(yī)個(gè)企業的數據來(lái)模拟操作(zuò):

image.png

單個(gè)企業數據的手動操作(zuò)步驟:①選中該單位的全部關(guān)鍵詞所在區域B2:B9,②直接複制,③點選C2單元格,④然後采用選擇性粘貼進行轉置

GIF082702.gif

Ok,單個(gè)企業的操作(zuò)就(jiù)完成了(le)。該企業的關(guān)鍵詞就(jiù)被轉成一(yī)行,放(fàng)置在了(le)C2:J2的區域裏。

接下(xià)來(lái)如(rú)何将第1步的操作(zuò)推廣至全部數據呢(ne)?

2、找出必須的手動操作(zuò)步驟,匹配能(néng)将之實現(xiàn)的函數:

從步驟1的操作(zuò)可以明确兩個(gè)必須的操作(zuò):一(yī)個(gè)是轉置;另一(yī)個(gè)容易被忽略,那就(jiù)是轉置的基礎:選定單元格區域。

對應的兩個(gè)函數是:轉置函數(Transpose)和選區函數(Offset),我個(gè)人(rén)稱之為(wèi):主體(tǐ)函數。

3、以必須的函數為(wèi)框架配置輔助條件:

首先,構建一(yī)個(gè)數據庫,将企業名稱字段作(zuò)為(wèi)唯一(yī)的索引。這(zhè)一(yī)步手動操作(zuò)更便捷,可以對企業名稱列使用數據透視(shì)表,也(yě)可以複制企業名稱列到新(xīn)的sheet,然後删除重複項實現(xiàn)。

其次,找出數據量從1到n時(shí),主體(tǐ)函數中發生(shēng)變化(huà)的參數(動态參數):Transpose函數的參數(Array區域)雖然發生(shēng)了(le)變化(huà),但(dàn)這(zhè)個(gè)變化(huà)是通過Offset函數來(lái)實現(xiàn)的,所以這(zhè)裏我們隻考慮Offset函數就(jiù)可以了(le)。

Offset函數有5個(gè)參數,動态參數有2個(gè):區域的起始行号(Rows)和區域的高度(Height)。Offset函數語法如(rú)下(xià):

image.png

最後,把動态參數也(yě)通過其他函數來(lái)獲得。動态參數1:區域的起始行号Rows,即為(wèi)原始數據裏該企業名稱首次出現(xiàn)的行數,用Match函數精确匹配即可得到。動态參數2:區域的高度(Height),即為(wèi)該企業名稱出現(xiàn)的次數,用Countif函數可以得到。

4、把所有輔助條件彙總,編制一(yī)個(gè)嵌套函數公式:

由于嵌套函數的結果為(wèi)一(yī)個(gè)Array,所以需要用到數組函數來(lái)鍵入(Ctrl + Shift + Enter),這(zhè)樣就(jiù)得到了(le)文章開頭的數組嵌套函數公式。

{=TRANSPOSE(OFFSET(關(guān)鍵詞!$B$1,MATCH(A2,關(guān)鍵詞! A:A,0)-1,0, COUNTIF(關(guān)鍵詞!A:A,Sheet2!A2),1))}


GIF0828.gif

5、最後一(yī)步也(yě)是最重要的一(yī)步:數據量從n到1的驗證。抽出任一(yī)單位的關(guān)鍵詞進行驗證。


小結

當我們遇到量比較大的數據處理(lǐ)時(shí),應首先嘗試從單個(gè)數據處理(lǐ)中找到基礎的解決方案,再放(fàng)置到全數據的場(chǎng)景中,根據數據量從1n的變化(huà)找出動态參數進行修正,逐步補足所需條件,最終實現(xiàn)高效的目标。這(zhè)種比較常規的構思方式,不知道大家get到沒有?希望對大家的Excel學習和工作(zuò)有所幫助!