2016-07-27 2 views
-1

전자 메일 주소, 일반 텍스트 (전자 메일 주소 아님) 또는 비어있을 수있는 셀이 있습니다. 셀에 전자 메일 주소가 들어있는 경우 해당 셀의 모든 항목을 다른 셀로 복사하고 전자 메일 주소가 포함되어 있지 않으면 해당 텍스트를 다른 다른 셀 (다른 형식의 전자 - 메일 셀과 원래 셀). 비어있는 경우 anyting을하고 싶지 않습니다. 나는 이것을 어떻게 얻을 수 있을까? 사전에Google 스프레드 시트 셀에 전자 메일 주소가 포함되어있을 때 수행하십시오.

It would look something like this

감사합니다.

답변

0

- REGEXEXTRACT를 사용하여 - 간지 것은 당신이 할 수 있다는 것입니다 하나의 열에서 하나의 기능을 넣어, 당신이 만들 수있는 그런 경우가되면 다음 컬럼이 아닌 이메일을 밀어 if 문 :

=if(REGEXMATCH(A2,"\[email protected]\w+"),REGEXEXTRACT(A2,"\s?(.*@.*)\s?"),REGEXEXTRACT(A2,"(\s?)(.*)")) 

가 REGEXMATCH을 설명하려면 - \w+는 단어 중 하나 이상을 의미한다 또는 숫자 다음에이옵니다.210 부호 및 또 다른 \w+ 이것은 텍스트 어딘가에 전자 메일 값이 있는지 확인하는 것입니다. 실제로 전자 메일을 가져 오는 것은 사실입니다. (문자가 실제로 포함될 수 있습니다. .*으로 변경 되었기 때문에 실제로 0이 될 수 있습니다. 어떤 성격의.

Google 시트는 캡처 그룹을 사용하므로 명세서의 else 부분에 첫 번째 셀에 공백이나 아무것도 넣지 말고 두 번째 캡처에서 괄호로 둘러싸인 서라운드 .* 서라운드로 두 번째 전자 메일 텍스트로 푸시하라는 메시지가 표시됩니다 그룹.

나는 그 조금 혼란 스러울 수도 있습니다 알고 있지만, 작업 및 정규 표현식에에 약간의 연구와 함께 당신은 그들이 매우 역동적이고 유용한 발견 할 것이다 - 나는 그들에게 매일

enter image description here

또한

이 단지 작품을 사용 구글 시트에 - 엑셀 -하지만 당신이 태그를 가지고 있기 때문에 ...

+0

안녕하세요! 고마워, 내가 찾고 있었던 것이 이것이다. 나는 "\ s?" 그렇지? 또한 셀을 뒤집고 싶으면 (셀 "전자 메일은"C와 "전자 메일이 아닌"B로 표시됩니다.) 표현에서 무엇을해야합니까? 나는 비 전자 메일을 다음 셀로 보내는 방법을 이해하지 못한다고 생각합니다. –

+0

시트는 각 캡처 그룹을 자체 셀로 분리하므로 이중 괄호는 두 개의 캡처 그룹을 생성합니다. 스왑하려는 경우 if 문 부분을'= if (NOT (REGEXMATCH (A2, "\ w + REGEXEXTRACT (A2, "\ s? (. * @. *) \ s?")) ' –

+0

또한'\\ w + ')), REGEXEXTRACT (A2, "(\ s?) (. *) s는 공간을 의미하고 물음표는 공간이있을 수 있지만 공간이 없을 수도 있음을 나타냅니다. –

0

이 공식은 열 B (이메일)에 있어야합니다 :

=IF(ISNUMBER(FIND("@";A1));A1;"") 

그리고이 공식은 (텍스트) 열에서 C되어야합니다 :

기본적으로
=IF(ISNUMBER(FIND("@";A1));"";IF(A1<>"";A1;"")) 

는 @ 기호를 찾습니다 및 @가 있으면 이메일입니다.
@가 없으면 셀을보고 비어 있지 않은지 확인하십시오.
(나는 열 C와 D를 사용주의,하지만 아무것도 변경되지 않습니다.) 당신은 구글 시트에서 하나의 기능을 수행 할 수 있습니다

enter image description here