2015-01-12 3 views
0

주어진 사람 이름과 이름을 기반으로 사용자 이름을 만들려고합니다. 일반적으로 사용자 이름에 첫 번째 이름과 성을 사용합니다. 그러나 이제는 많은 사용자가 성을 2 개 갖고 있으며 하이픈을 포함 할 수 있습니다. 나는 첫 번째 이니셜, 첫 번째 글자의 성 및 그 다음의 성을 제공하는 코드를 작성하려고합니다.문자열 앞뒤 공백 문자 수식

에이미 스미스 존스 == asjones

이 내가 현재 물론, 그것은 "asmithjones"를 얻을 것이다 사용하지만,하고 무엇인가 - 예를 들어

.

=LOWER(LEFT(A1,1)&SUBSTITUTE(SUBSTITUTE(A2,"-","")," ","")) 

나는이 변형을 시도했지만 운이 없었습니다.

=LOWER(LEFT(A1,1)&LEFT(A2,1)&SUBSTITUTE(SUBSTITUTE(A2,"-","")," ","")) 

첫 번째 문자열의 첫 번째 문자 및 제 2 문자열의 전체 텍스트를 모두 생성하는 방법이 있나요?

편집

내가 뭔가 함께했다,하지만 지금은 일부 사용자는 수식이 그 건너 오면 1 개 성 그래서이 적용이

=IFERROR(LOWER(LEFT(D2,1)&SUBSTITUTE(SUBSTITUTE(RIGHT(F2,LEN(F2)-FIND(" ",F2&" ")),"-","")," ","")),LOWER(LEFT(D2,1)&SUBSTITUTE(SUBSTITUTE(F2,"-","")," ",""))) 

또 다른 도전에 직면 해있다. 그러나 저는 공간 대신에 하이픈을 가진 사람들이 있습니다. SUSTITUTE 함수는 두 가지 모두를 설명하지만, 어떻게 FIND 함수를 동일하게 만들 수 있습니까?

답변

0

보십시오 : 당신의 편집을 바탕으로

=LEFT(A1,1)&MID(A1,(SEARCH(" ",A1)+1),1)&RIGHT(A1,(LEN(A1)-(SEARCH(" ",(SUBSTITUTE(A1,"-"," ")),(SEARCH(" ",A1)+1))))) 
0

, 내가 가정합니다 첫 번째 이름은 열 D에있는 이름과 성 열 F에 있습니다

=LOWER(LEFT(D2) & IFERROR(LEFT(F2)&MID(F2,FIND("-",SUBSTITUTE(F2," ","-"))+1,99), F2)) 

SUBSTITUTE는에 하이픈으로 공간 변경 마지막 이름이므로 FIND은 하이픈 만 찾을 수 있습니다.

IFERROR 하이픈을 찾을 수없는 경우 (대체 후), 성이 모두 반환됩니다.

예 :

enter image description here

+1

이 멋진입니다! 정말 고마워! 내 것 같아 보이지 않는데. –