2014-07-08 2 views
0

각 셀에는 약 4,000 개의 셀로 구성된 두 개의 열이 있습니다. 비슷한 방식으로 각 열의 서식을 지정해야합니다.Excel 셀 구문 분석

열 1 : Scenerio 1 : 각 셀에는 "qwe"로 시작하는 데이터가 있습니다. "qwe"다음에 "bc"가 있으면 5자를 모두 잘라 내야합니다.

Scenerio 2 : 각 셀에는 "qwe"로 시작하는 데이터가 있습니다. "qwe"다음에 "bc"가 없으면 처음 3 자 ("qwe")와 데이터 문자열의 마지막 문자 만 잘라내 야합니다. (이것은 데이터 문자열의 LENGTH에서 마지막 문자가됩니다.)

열 2 : Scenerio : 각 셀의 각 문자열의 처음 세 문자를 잘라내야합니다.

첫 번째 열에 대해서는 4 번째 및 5 번째 문자가 "bc"인지 확인한 다음 적절한 작업으로 분기하는 방법을 전혀 모릅니다.

두 번째 열에 대해서는 MID (CELL, 3, LENGTH_OF_STRING_IN_CURRENT_CELL)를 호출하려고했습니다. 그러나 함수 내에서 셀의 데이터 길이를 호출하는 방법을 알 수 없습니다.

모든 도움을 주실 수 있습니다. 나는 VB 매크로에 대해 아무것도 몰라. 그리고 나는 (분명히) Excel 기능에 대해서만 약간만 알고있다. 열 1 가정

답변

1

이 있고 열 2는 B이고, 시도하십시오 : 아래로 복사

=IF(AND(LEFT(A1,3)="qwe",MID(A1,4,2)="bc"),RIGHT(A1,3),RIGHT(A1,LEN(A1)-3)) 

=MID(B1,4,LEN(B1)-3) 

을 이용할 수 있습니다. 당신이 정말로 pnuts 같은 스프레드 시트 기능을 대신에이 작업을 수행하는 VBA를 사용하고자하는 가정

0

는 제안 :

당신은 VBA에서 Application.WorksheetFunction를 사용하여 워크 시트 함수를 호출 할 수 있습니다; 그러나, 나는 간단한 문자열 함수가 거기에서 사용할 수 있다고 생각하지 않는다; 일반적으로 행 & 열에서 작동하는보다 복잡한 함수를 찾을 수 있습니다.

여전히 BASIC에는 많은 문자열 함수가 있습니다. 셀 값을 문자열로 얻으면 문자열 조작을 위해 해당 함수를 직접 사용할 수 있습니다. 다음은 간단한 예입니다. 긴 문자열보다 길이 매개 변수를 제공하는 경우

Let cell.Value = part 
0

중반 기능은, 단지 캐릭터의 균형을 반환합니다 : 만약 당신이 좋아하면

Set cell = ActiveSheet.Range("B2") 
Dim val As String 
Let val = cell.Value 
Let part = Mid(val, 4, 2) 

는 그런 다음 다시 셀 값을 쓸 수 있습니다 . 따라서 일부 기능의 경우에는 계산하는 대신 큰 번호를 입력하는 것이 좋습니다. 99를 사용했는데 문자열이 더 크면 그 숫자를 충분히 크게 만듭니다. 2 열의

C1: =IF(LEFT(A1,5)="qwebc",MID(A1,6,99),MID(A1,4,LEN(A1)-4)) 

: 1 열의

D1: =MID(B1,4,99) 

을 채우기