iT邦幫忙

0

「清除儲存格重複字樣資料」公式或巨集

https://ithelp.ithome.com.tw/upload/images/20200110/201092319YVdJTz5m1.png

如題,請問是否有什麼公式或巨集可以達到將A欄原始資料重複字樣清除,變成C欄結果資料
另A欄資料非固定,字樣或字數多少均不一定,因此希望以單一儲存格只要有重複字樣資料均保留一個即可,不上求解~~~

測試檔
https://drive.google.com/file/d/1otR3qAMJVU7bK5RMlv_Us_4REQdfC1vz/view?usp=sharing

1 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2020-01-10 10:24:43
最佳解答

先講結論

C1=IF(ISNUMBER(FIND(" ", B1)), MID(B1, FIND(" ",B1)/2+1, LEN(B1)-FIND(" ",B1)/2+1), MID(B1,LEN(B1)/2+1, LEN(B1)/2))

C2..C欄公式往下複製即可

再講過程
由上圖可以看出資料有兩種格式
1.重覆兩次文字,從一半的地方取後面的部份,公式如下

=MID(B1,LEN(B1)/2+1, LEN(B1)/2)

2.重覆兩次文字,後面還有 - 和其他文字,從「重覆兩次的一半的地方」取後面的部份,公式如下

=MID(B1, FIND(" ",B1)/2+1, LEN(B1)-FIND(" ",B1)/2+1)

再加上「以是否有空格字元判斷是第1種或是第2種格式」

ISNUMBER(FIND(" ", B1))

最後再用 IF()函數包起來就是最前面的結論了

看更多先前的回應...收起先前的回應...

海綿大 FIND(" -") 這樣會不會比較嚴謹
不會誤判商家名稱有空白的資料
/images/emoticon/emoticon41.gif

海綿寶寶首先先感謝大神幫忙,真的可以耶太強了,但想再請教一下以下三個測試結果好像會切到開頭,另『小蔡電器 3c3c.tw 來店LG第2件現打94折+12期0利率小蔡電器 3c3c.tw 來店LG第2件現打94折+12期0利率』這個字串好像也沒辦法有效切割,以上還能解嗎?如果已經是最佳結果的話也沒關係,至少我只要再手動刪這2個字串就好,已經是幫上我超大的一個忙了~~~~
https://ithelp.ithome.com.tw/upload/images/20200110/20109231vXUPZeSKpF.png

請照 listennn08 大大的說法
把公式中 FIND(" ", 的部份都改成 FIND(" -", 看看

真的可以了耶~~太感謝2位大神了。

我要發表回答

立即登入回答