2013-07-27 2 views
0

Excel 데이터 파일이 있습니다. 세포에서 나는 그래서, 마지막 2 개 자리를 먹고 싶어이사용자 지정 문자열 반전 순서 - 최대 2 자리 숫자 쌍

2DE4264B07000048 

같은 다른 셀에 결과를 얻을 수있는 방법이

480000074B26E42D 

같은 데이터가 그들을 앞에 놓으십시오. 2D 전에 그런 다음 2 자리와

enter image description here

이 코드를 사용하려고 (이 앞에 하나)을 2D 후 넣어하지만 잘못된 결과를

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

http://stackoverflow.com/q/350264/293078 –

+0

16 진수 값처럼 보이며 바이트 순서를 바꿔야합니다. 그렇습니까? 최소한 문자열의'48' /'84' 끝에 약간의 난독증을 무시합니다. – HABO

답변

6

다른 기여자가 귀하의 요구 사항을 잘못 이해했다고 생각합니다 &은 제공된 값을 반전시키기위한 조언을 단순히 제공하고 있습니다.

입력이 480000074B26E42D 인 경우 필요한 결과가 잘못되었다고 생각합니다. 2DE4264B07000084. 마지막 두 문자가 바뀌 었습니다. & 실제 출력은
2DE4264B07000048입니다. 즉 올바른 경우

, 당신은, 세포 A1에서 원본 텍스트를 기반으로 (공용 코드 모듈에 저장) 응용 프로그램 기능이 Visual Basic의


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이 아닌 다른 셀에 배치됩니다.)

=strReverse_Character_Pairs(A1)

기능을 향상시켜 양쪽 끝에 "더미"문자를 추가하여 짝수 개의 문자가 있는지 확인하여 반대쪽 쌍을 의도 한대로 사용할 수 있습니다.

-1

I를 얻을 수 약간의 VBA가 대답일지도 모른다고 생각합니다. 나는 방금 this을 테스트했고 제대로 작동합니다.

+1

[SO help pages] (http://stackoverflow.com/help/how-to-answer) - "링크 컨텍스트 제공 - 외부 리소스에 대한 링크가 권장되지만 링크 주위에 컨텍스트를 추가하여 동료 사용자 그것이 무엇인지 그리고 그것이 왜 있는지를 약간의 아이디어로 알게 될 것입니다.대상 사이트가 도달 할 수 없거나 영구적으로 오프라인 상태가되는 경우 항상 중요한 링크의 가장 중요한 부분을 인용하십시오. " – barrowc

+0

질문에 대답하지 않습니다 .OP가 요구 한 것이 아닙니다. 이것은 문자열을 반대로하고 OP는 문자열을 반대로 원합니다. –

-1

VBA에서 다음 기능을 사용하십시오 :

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

여기서 셀 A1에는 뒤집을 문자열이 있습니다. Cell A3에는 결과가 포함되어 있습니다

+0

그것은 질문에 대답하지 않습니다. 그것의 op가 요구 한 것이 아닙니다. 이것은 문자열을 뒤집어 놓았고 OP는 문자열 쌍을 2로 반전 시키길 원합니다! –