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

如题所述

假设数据在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

公式下拉,结果如下图

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-21
要同一个单元格里面改只能用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追问

谢谢了,已经解决了

追答

呵呵,我知道,给需要的人看。

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

非常感谢,已经有人帮忙解决了

第3个回答  2013-02-21
=RIGHT(A1,LEN(A1)-FIND("X",A1))&"X"&LEFT(A1,FIND("X",A1)-1)本回答被提问者采纳
相似回答