2017-02-05 1 views
1

내 Android 장치에서 통계를 얻었습니다. 간단히 말해 Excel에서 각 필드를 검색하는 방법은 무엇입니까? (외부 언어를 사용하지 않고 Excel에서 간단하게 수행하고 싶습니다.)Excel에서 내 문자열을 구문 분석하는 방법

예를 들어, vel18.5을 얻고 다른 셀에 저장하려면 어떻게합니까?

Location[gps 40.459137,-87.661198 acc=8 et=+5d16h57m45s127ms alt=194.0 vel=18.5 bear=89.9 {Bundle[mParcelledData.dataSize=44]}] 

참고 : 18.5뿐만 아니라 7.0이 될 수 참고. 따라서 값의 길이가 항상 고정되어있는 것은 아닙니다. A1의 데이터와

+0

VBA를 "외부 언어"로 간주합니까? 이것은 VBA에서 거의 사소한 것입니다. 스프레드 시트 수식을 사용하여 * 가능하지만 지루한면이 있습니다. –

+0

음, 다음과 같은 수식 만 사용하십시오. –

+0

읽으려면 VBA 솔루션을 먼저 포함 시켰습니다. 나는 당신이 길 아래로 마음을 바꿀 경우를 대비하여 그것을 남겨 둘 것이다. 제 생각에는 VBA없이 Excel을 사용하는 것은 불필요한 고통입니다. 매크로를 사용할 때 훨씬 더 강력한 도구입니다. @ Gary의 스터디 던스트의 훌륭한 대답은보다 유연하게 조정할 수 있습니다. –

답변

1

은 VBA 솔루션입니다 워크 시트 함수처럼 사용할 수 있습니다.

enter image description here

+0

아. 반복해야하는 각 파일에 대해 또는 Excel 저장하고 영구적으로됩니까? –

+0

일반적으로 그렇습니다. 그러나 반복적으로 사용하기 위해 개인용 매크로 통합 문서에 저장할 수 있습니다 (필자는이를 간과하지 않을 수 있습니다). 추가 기능을 만들 수도 있지만 다소 복잡합니다. 개인용 매크로 통합 문서에 대한 정보는 다음을 참조하십시오. https://support.office.com/en-us/article/Copy-your-macros-to-a-Personal-Macro-Workbook-aa439b90-f836-4381-97f0-6e4c3f5ee566 –

+0

다음을 참조하십시오 : http://www.rondebruin.nl/win/personal.htm 특히 저자의 "예 2" –

2

, 다른 셀에 입력 : 당신이 표준 코드 모듈에 입력하면

Function GetVel(s As String) As Double 
    Dim fields As Variant 
    Dim i As Long 
    fields = Split(s) 
    For i = LBound(fields) To UBound(fields) 
     If fields(i) Like "vel=*" Then 
      GetVel = Val(Split(fields(i), "=")(1)) 
      Exit Function 
     End If 
    Next i 
End Function 

:

=LEFT(MID(A1,FIND("vel=",A1)+LEN("vel="),999),FIND(" ",MID(A1,FIND("vel=",A1)+LEN("vel="),999))-1) 
다음

enter image description here

+0

참고 : 18.5는 7.0 일 수도 있습니다. 따라서 값의 길이가 항상 고정되어있는 것은 아닙니다. 그것을 수용 할 수 있습니까? –

+0

그렇습니다. 잘못된 것입니다. 그것은 나에게 어떤 가치도주지 않는다. –

+0

@TinaJ *** 18.5 *** 뒤에 ** 공백 ** 문자가 있습니까? –

관련 문제