自定义string反转顺序 – 配对2位数

我有Excel数据文件。 在单元格中我有这样的数据

480000074B26E42D 

如何获得其他单元格的结果像这样

 2DE4264B07000048 

所以,我想把最后两位数字放在前面。 然后在2D之前的下2个数字放在2D前面的数字

在这里输入图像说明

我尝试使用这个代码,但我得到错误的结果

 =RIGHT(B2,LEN(B2) -2) 

我相信其他的贡献者误解了您的要求,只是提供build议来扭转所提供的价值。

随着480000074B26E42D的input,我认为你所需要的结果是不正确的: 2DE4264B07000084 。 最后两个字符已被换位,实际输出将是:
2DE4264B07000048

如果这是正确的,则可以使用此Visual Basic for Applications函数(存储在公用代码模块中)


 Public Function strReverse_Character_Pairs(ByVal strValue As String) As String Dim lngLoop As Long Dim strReturn As String strReturn = "" For lngLoop = Len(strValue) - 1& To 1& Step -2& strReturn = strReturn & Mid$(strValue, lngLoop, 2) Next lngLoop strReverse_Character_Pairs = strReturn End Function 

基于单元格A1的原始文本的用法如下(将此公式放置在单元格A1以外的任何单元格中):

=strReverse_Character_Pairs(A1)

这个函数也可以被增强,通过在任一端添加一个“虚拟”字符来检查该值是否具有偶数个字符,以使得反转对符合预期。

我觉得有点vba可能是答案,我只是testing这个 ,它工作正常

在VBA中使用以下function:

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cells(3, 1) = StrReverse(Cells(1, 1)) End Sub 

单元格A1包含要翻转的string。 单元格A3包含结果