彰化一整天的論壇

 找回密碼
 立即註冊
搜索
查看: 47|回復: 8

excel 取代數值

[複製鏈接]
發表於 2017-11-8 18:53:37 | 顯示全部樓層 |閱讀模式
請問表格中有以下數值

AAAAAA,2,2BBB,2,aaaa,2
CCCCC,222222
DDD,2,2222,EEE


要將,2, 取代成 *2,
以及尾數的,2也取代成*2


希望的取代結果
AAAAAA*2,2BBB*2,aaaa*2
CCCCC,222222
DDD*2,2222,EEE

試過幾種方法都因為組合的關係會取代錯誤
請問老師有什麼好方法嗎,謝謝。


回復

使用道具 舉報

發表於 2017-11-8 20:13:32 | 顯示全部樓層
請問您是要用取代功能還是函數的取代,
若是取代功能,可以參考.
http://blog.bestdaylong.com/2010/01/excel.html
如何在Excel輸入及取代換行符號
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-11-8 22:24:59 | 顯示全部樓層
imingho 發表於 2017-11-8 20:13
請問您是要用取代功能還是函數的取代,
若是取代功能,可以參考.
http://blog.bestdaylong.com/2010/01/excel ...

老師
我的問題是
擷取11.PNG
AAAAAA,2,2BBB,2,aaaa,2
CCCCC,222222
DDD,2,2222,EEE

各分別為一欄
因為數據有三萬欄
有各種組合,我把我遇到的問題用這樣呈現
A1我希望可以讓數據變成AAAAAA*2,2BBB*2,aaaa*2
A2變成CCCCC,222222
A3變成DDD*2,2222,EEE
一開始我想說用,2 取代成*2 但是A1就會變成
AAAAAA*2*2BBB*2,aaaa*2
不是我要的答案如果我用,2,來取代成*2,會變成
AAAAAA*2,2BBB*2,aaaa,2
也不是我要的結果,如果用,2取代成*2 會變成
AAAAAA*2*2BBB*2,aaaa*2
就是我想了很多種方法都沒辦法取代成我要的結果,因為組合太多種了,請求老師了,謝謝。
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-11-8 23:59:38 | 顯示全部樓層
老師,像您請教,如果字串是"xxxxxxx,2"是否有公式可以判斷字串的倒數第二字元是逗點,將它取代成(星號),取代結果:xxxxxxx*2 。以及字串"xxxxxxxxx,"判斷最後一個字元為,(逗點),將逗點刪除,取代結果"xxxxxxxxx",或者這需要寫到VBA,謝謝。
回復 支持 反對

使用道具 舉報

發表於 2017-11-9 13:50:36 | 顯示全部樓層
本帖最後由 imingho 於 2017-11-9 13:53 編輯
z22344566 發表於 2017-11-8 23:59
老師,像您請教,如果字串是"xxxxxxx,2"是否有公式可以判斷字串的倒數第二字元是逗點,將它取代成(星號), ...

您好,
    若是單一個字串,可以用底下的方法.
excel_string_01.png

1.使用方式

底下這個範例也可以參考http://wordpress.bestdaylong.com/blog/archives/17520
如何利用excel的search找出文件中所有的網路卡編號

excel_string.xls

13.5 KB, 下載次數: 1

售價: 2 金錢  [記錄]

回復 支持 反對

使用道具 舉報

發表於 2017-11-9 14:36:26 | 顯示全部樓層
本帖最後由 imingho 於 2017-11-9 14:38 編輯
imingho 發表於 2017-11-9 13:50
您好,
    若是單一個字串,可以用底下的方法.
1.使用方式

若多筆可以用VBA的正規表示法來解決.
excel_string_02.png


1.程式碼及執行結果


  1. Private Sub TestReg3()
  2.     Dim reg As Object
  3.     Dim mc As Object
  4.     Dim m As Object
  5.    
  6.     Set reg = CreateObject("vbscript.regExp")
  7.     With reg
  8.         .Global = True
  9.         .IgnoreCase = True
  10.         .Pattern = "[a-zA-Z]{1},{1}"
  11.     End With
  12.    
  13.     s = "AAAAAA,2,2BBB,2,aaaa,2"
  14.    
  15.     Set mc = reg.Execute(s)
  16.     For Each m In mc
  17.         s = Replace(s, m.Value, Left(m.Value, 1) & "*")
  18.     Next
  19.     Debug.Print s
  20. End Sub
複製代碼


Regex.xls

35 KB, 下載次數: 1

售價: 2 金錢  [記錄]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-11-9 15:27:31 | 顯示全部樓層
老師,謝謝您提供的方法,我有試著用SUBSTITUTE函數,但執行結果都不對,請老師指導,謝謝。

excel_string.xls

37 KB, 下載次數: 2

回復 支持 反對

使用道具 舉報

發表於 2017-11-9 15:37:07 | 顯示全部樓層
z22344566 發表於 2017-11-9 15:27
老師,謝謝您提供的方法,我有試著用SUBSTITUTE函數,但執行結果都不對,請老師指導,謝謝。
...

使用公式要看函數內容的說明,才不會不知道為什麼錯.
excel_substitute_01.png

1.說明

excel_substitute_02.png

2.修改過的公式


excel_string_01.xls

23.5 KB, 下載次數: 0

售價: 1 金錢  [記錄]  [購買]

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2017-11-19 07:11 , Processed in 0.086267 second(s), 22 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表