3437 |
Excel 如何在結果欄位三選一 |
蘇牧東:錦子老師您好,檔案裡的「結果」欄位要顯示品項一或品項二或品項三,三個位欄位有TAI或BIG開頭資料的的前10碼,請問序號3及序號4的公式,錯在那裡?還是有更好的方式呢?謝謝。
錦子老師:這個問題,我的做法如下:
點取月E3儲存格輸入公式:「=LEFT(INDEX(B3:D3,MAX(IFERROR(MATCH({"TAI", "BIG"},LEFT(B3:D3,3),0),0))),10)」,再按CTRL+SHIFT+ENTER鍵完成陣列公式輸入。
再將公式向下複製到E4:E6儲存格。
【公式說明】
=LEFT(INDEX(B3:D3,MAX(IFERROR(MATCH({"TAI", "BIG"},LEFT(B3:D3,3),0),0))),10)
首先要抓取月B3:D3儲存格中的前二字元是否為TAI或BIG,故使用MATCH函數MATCH({"TAI", "BIG"},LEFT(B3:D3,3),0)。
如果發生找不到TAI或BIG時會出現錯誤訊息,這時為避免造成運算無法執行,故利用IFERROR函數將其設定為0(IFERROR(MATCH({"TAI", "BIG"},LEFT(B3:D3,3),0),0))。
然後利用MAX函數抓取3欄中含有TAI或BIG字串的欄編號最大值(MAX(IFERROR(MATCH ({"TAI", "BIG"},LEFT(B3:D3,3),0),0)))。
這時透過INDEX函數指定出MAX函數傳回的欄位儲存格內容(INDEX(B3:D3,MAX (IFERROR(MATCH({"TAI", "BIG"},LEFT(B3:D3,3),0),0))))。
最後透過LEFT函數抓取傳回內容的左邊十個字元(LEFT(INDEX(B3:D3,MAX(IFERROR (MATCH({"TAI", "BIG"},LEFT(B3:D3,3),0),0))),10))。
大家有所幫助~~有什麼問題歡迎留言,我會儘量及時的給大家答覆~~
更多相關影片教學:請點我
更多相關文章:請點我
留言列表