close

910

Excel儲存格中抓取部份內容,必須學會的三個套路

示範檔

範例檔

910.XLSX

結果檔

910F.XLSX

最近很多讀者都詢問我關於Excel的問題,錦子老師平時工作很忙,能夠顧上回答的就回答了,如果回答不了,還望各位朋好友多多見諒!

寫篇小文章也不易呀!也望大家多多支持!

現在從各位讀者的問題中選取3個有代表性的案例給大家分享,這些也都是我們工作中會經常遇到的。

案例1:一列變多列

有一道多選題,共有ABCDEFGH8個答案,資料登錄後原始資料為A欄,現需要將這一欄轉換為ABCDEFGH分別對應的8欄,如下圖所示,A欄中出現的答案,則在對應答案下方顯示「」,如果沒有出現,則顯示「」。

步驟1:在C2儲存格輸入公式「=IFERROR(IF(SEARCH(C$1,$A2)>0,"",""),"")」後,再將公式複製到C2:J11儲存格,結果如下圖所示。

【分析過程】

首先判斷A欄中是否有A這個答案,使用公式SEARCH

SEARCH函數語法:searchfind_textwithin_textstart_num,即為(找誰,從什麼裡面找,從第幾個找),第三個參數一般情況下可以忽略,預設為從第一個參數開始找。

再使用if函數判斷,當A欄中有A時,SEARCH(C$2,$A2)>0,則輸出「是」,當A欄中沒有A則結果為錯誤值。

最後,使用IFERROR函數將錯誤值轉換為「否」。

IFERROR(value,value_if_error),如果不為錯誤值的話,正常傳回值,如果是錯誤值的話,傳回value_if_error這個參數。

在最初學習Excel的時候,建議大家分步實現想要實現的功能,切記初學者盲目嵌套,在基本功不熟練的情況下非常容易出錯,並且不容易找到錯誤所在。

案例2:提取不規則資料的最後一部分內容

有一欄資料,除了分隔符號「,」,完全沒有規律,現需要提取每筆記錄最後一部分內容。

步驟1:首先,我們框選A2:A11儲存格。

步驟2:點取「資料 > 資料剖析」圖示,如下圖所示。

步驟3:在【資料剖析精靈】對話方塊,點取「分隔符號」選項鈕,如下圖所示。

步驟4:點取「下一步」鈕。

步驟5:點取「其他」核取方塊,並在其右邊欄位輸入分隔符號「,」,如下圖所示,對資料進行分欄。

步驟6:點取「下一步」鈕。

步驟7:點取「目標儲存格」欄位,輸入「=C2」,如下圖所示。

步驟8:點取「完成」鈕,結果如下圖所示。

其次,可以用INDEX函數將分欄後的最後一個欄儲存格中的資料提出來。

INDEX(arrayrow_numcolumn_num),即為(參照範圍,參照範圍裡的第幾列,參照範圍裡的第幾欄)。此處,參照範圍應該為每一列的C欄到F欄,參照範圍裡的第1列,參照範圍裡的有內容的最後一欄。

需要注意的是,分欄後有的列分成了2欄,有的列分成了3欄及4欄。

這時候第三個參數就應該用COUNTA來計算分欄後有內容的欄共有幾欄,從而作為INDEX的第三個參數。

最後使用INDEX函數將最後一欄內容提取出來。

所以,分欄後最終的公式為:「=INDEX(D2:H2,1,COUNTA(D2:H2))」。

案例3:提取不規則資料的部分內容,並保留部分內容

現有一欄資料,如果有「,」提取「,」後面的內容,(「,」前後的字元長度不固定),如果沒有「,」,則保留原內容,如果儲存格為空白,則用0替代。

步驟1:點取B2儲存格輸入公式為「=IFERROR(MID(A2,SEARCH(",",A2)+1,9^9),A2)」後,再複製到B3:B11儲存格。

第一步,利用SEARCH(",",A2)查找「,」為儲存格的第幾個字元。

第二步,利用MID(A2,SEARCH(",",A2)+1,9^9)將→後面的內容提取出來。

第三步,使用IFERROR函數將錯誤值轉換為A欄對應的儲存格。

好啦!今天的教程就到這裡啦。每次錦子老師都給大家準備了滿滿的南北乾貨,大家有沒有收穫呢?

技能學習一定要多看多練,看多了做多了,就自然融會貫通了。


arrow
arrow
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()