Excel 시트에 0-9와 AZ의 9 문자를 사용하여 많은 수의 접두사가 0 인 셀이 많이 있습니다.
000000123 000001DA2 0000009Q5 0000L210A 0000014A0 0000A5500 00K002200
값이되도록 선행 0을 제거하고 싶습니다.
123 1DA2 9Q5 L210A 14A0 A5500 K002200
Excel 수식에서 어떻게해야합니까? VBA 매크로를 사용하지 않는 것이 좋습니다.
Excel 시트에 0-9와 AZ의 9 문자를 사용하여 많은 수의 접두사가 0 인 셀이 많이 있습니다.
000000123 000001DA2 0000009Q5 0000L210A 0000014A0 0000A5500 00K002200
값이되도록 선행 0을 제거하고 싶습니다.
123 1DA2 9Q5 L210A 14A0 A5500 K002200
Excel 수식에서 어떻게해야합니까? VBA 매크로를 사용하지 않는 것이 좋습니다.
답변:
다음은 셀을 많이 사용하지만 올바른 솔루션입니다.
A 열에 데이터를 넣습니다.
B1에서 다음 공식을 입력하십시오.
=IF(
LEFT(A1) = "0" ,
RIGHT(A1, LEN(A1)-1),
A1)
단일 선행 0을 확인하고 제거합니다.
이 수식을 데이터에 문자가있을 수있는 열만큼 오른쪽에 복사하십시오 (이 경우 9 열이므로 J 열로 이동합니다). 각 데이터 행마다 복사하십시오.
마지막 열에는 선행 0이 제거 된 데이터가 포함됩니다.
다음 수식은 추가 셀이 필요하지 않으며 배열 수식으로 입력하지 않아도됩니다.
=RIGHT(A1,LEN(A1)-FIND(LEFT(SUBSTITUTE(A1&" ","0",""),1),A1&" ")+1)
단일 제로 같은 문자열을 반환되어야하는 경우 0
나 00
, 다음의 식을 사용할 수있다 :
=IF(A1="","",RIGHT(A1,LEN(A1)-FIND(LEFT(SUBSTITUTE(LEFT(A1,LEN(A1)-1)&" ","0",""),1),LEFT(A1,LEN(A1)-1)&" ")+1))
이것은 워크 시트 함수와 관련된 어려운 문제입니다. 다음은 트릭을 수행하지만 선행하지 않는 0이 한 번에 하나만 나오고 후행 0이없고 공백이없는 경우에만 해당됩니다.
모든 0을 공백으로 바꾸고 (단일 포함 된 공백을 제외하고) 잘라낸 다음 0을 다시 바꿉니다.
=SUBSTITUTE(TRIM(SUBSTITUTE(A1,"0"," "))," ","0")
=CLEAN(SUBSTITUTE(TRIM(SUBSTITUTE(A1 & CHAR(9),"0"," "))," ","0"))
( 어떻게 CLEAN
하면 탭을 제거합니다; 그렇지 않으면;에서 다른 값을 사용하십시오 CHAR
)
이 솔루션은 정확히 9자인 입력 값에 적합합니다.
먼저 텍스트로 서식이 지정된 다음 숫자가 포함 된 고정 열 행 테이블을 설정하십시오.
000000000
000000001
000000010
000000100
000001000
000010000
000100000
001000000
010000000
100000000
표가 A10에서 A10까지의 셀에 있다고 가정 해 봅시다.
입력 값이 셀 B1에 있고 결과 셀이 C1이라고 가정 해 봅시다.
C1 셀에 다음 수식을 사용하십시오.
= RIGHT (B1, MATCH (B1, $ A $ 1 : $ A $ 10,1) -1)
MATCH
함수 의 세 번째 매개 변수는 1 = lookup_value보다 작거나 같은 가장 큰 값을 찾습니다
A1의 데이터에는 다음 공식을 사용하십시오.
= RIGHT (A1, LEN (A1) -MAX ((FINDB (REPT ( "0", ROW (A $ 1 : A $ 100)), A1 & "-"& REPT ( "0", 100)) = 1) * ROW (A $ 1 : A $ 100)))
Ctrl + Shift + Enter로 입력합니다. 문자열은 최대 100 자까지 작동합니다.