1

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

480000074B26E42D

我怎样才能在其他单元格中获得结果这样

2DE4264B07000048

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

在此处输入图像描述

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

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

3 回答 3

7

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

输入480000074B26E42D,我认为您要求的结果不正确: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

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

=strReverse_Character_Pairs(A1)

还可以通过在任一端添加“虚拟”字符来增强该功能以检查该值是否具有偶数个字符,以便反向对符合预期。

于 2013-07-27T13:02:51.597 回答
-1

我认为一点 vba 可能是答案,我刚刚测试过,它工作正常

于 2013-07-27T04:05:51.967 回答
-1

在 VBA 中使用以下函数:

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

其中 CellA1包含要翻转的字符串。单元格A3包含结果

于 2013-07-27T06:05:10.767 回答