请问,怎么在EXCEL同一个单元格里把X前后的两个数据互换,要批量互换的那种

2024-11-24 11:49:33
推荐回答(4个)
回答1:

假设数据在A列:

方法一:

B1输入公式后下拉

=-LOOKUP(1,-RIGHT(A1,ROW($1:$9)))&"X"&-LOOKUP(1,-LEFT(A1,ROW($1:$9)))

=RIGHT(A1,LEN(A1)-FIND("X",A1))&"X"&LEFT(A1,FIND("X",A1)-1)

公式写法很多,就列两个吧。如下图

方法二:用分列

步骤1:选择A列,单击”数据“>>>分列,第一步选择分隔符号,单击”下一步“,如下图

步骤2:”分隔符号“勾选其他,并输入"X",再单击”完成“按钮。

分列后,结果如下图,把X两边的数字都提取出来。

步骤3:C1输入公式

=B1&"X"&A1

公式下拉,结果如下图

回答2:

要同一个单元格里面改只能用VBA了。需要的话可以帮你写个。
Sub MyFunction()
Dim I As Long, S As String
For I = 1 To Range("A65536").End(xlUp).Row
S = Range("A" & I).Text
If InStr(S, "X") > 0 Then
Range("A" & I).Value = Right(S, InStr(S, "X") - 1) & "X" & Left(S, InStr(S, "X") - 1)
End If
Next
End Sub

回答3:

是固定的要求么?
1.A的后两个字符作为B的头两个字符。
2.A前两个字符作为B的后两个字符。
3.中间那个不变。
4.另外,你那个例子多了个0,我忽略?还是要去掉?

回答4:

=RIGHT(A1,LEN(A1)-FIND("X",A1))&"X"&LEFT(A1,FIND("X",A1)-1)