excel如何将一段数据中的特定的数据进行加倍操作,比如1:100|2:200|3:300,需要变成1:100|2:400|3:300?

如题所述

下面的公式能满足你的要求吗?如图:

B2=TEXTJOIN("|",,LEFT(TRIM(MID(SUBSTITUTE(A2,"|",REPT(" ",99)),{1,2,3}*99-98,99)))&":"&IF(LEFT(TRIM(MID(SUBSTITUTE(A2,"|",REPT(" ",99)),{1,2,3}*99-98,99)))="2",RIGHT(TRIM(MID(SUBSTITUTE(A2,"|",REPT(" ",99)),{1,2,3}*99-98,99)),3)*2,RIGHT(TRIM(MID(SUBSTITUTE(A2,"|",REPT(" ",99)),{1,2,3}*99-98,99)),3)))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-08-12

=SUBSTITUTE(A1,":2",":4")

第2个回答  2022-08-13
用代码的自定义函数!追问

我就是不知道怎么写这个代码。。。需要将一列中的”2“后面的数据进行加倍

追答

Function 二后乘以二(a$)
Dim Arr, Brr, i&
Arr = Split(a, "|")
For i = 0 To UBound(Arr)
Brr = Split(Arr(i), ":")
If Brr(0) = 2 Then
Arr(i) = Brr(0) & ":" & Brr(1) * 2
End If
Next i
二后乘以二 = Join(Arr, "|")
End Function

本回答被提问者采纳
相似回答