2017-04-05 2 views
0

수백 개의 행에 걸쳐 HTML이 포함 된 두 개의 열이있는 큰 CSV가 있습니다. 특정 부분을 새 열로 분리해야합니다. 예를 들어, 셀은 포함 할 수 있습니다 : 나는 모든 마크 업을 제거하는 동안, 별도의 컬럼에 제목과 설명의 내용을 이동하려는Excel - 셀에서 문자열 분할

<style>.some-class{property:value;}</style><div class="title">This is a title</div><div class="description">This is a description></div>

.

매크로 나 VBA 대신 수식을 사용하여이 작업을 수행 할 수 있습니까?

감사

설명을 위해
+0

'MID()'함수 안에서'FIND()'함수를 사용해 보셨습니까? 추가적으로'SUBSTITUTE()'함수를 체크하여 html의 \ remove 비트를 대체하면 도움이된다. – rayzinnz

+0

고마워, 나는 그것들을 살펴 봤지만, 어떤 주어진 세포에 얼마나 많은 인물이 있을지 모르겠다. FIND는 위치를 반환하고 MID는 문자 수를 지정해야합니다. 단일 문자 대신 문자열 일 수있는 텍스트 - 열 구분 기호가 있으면 완벽 할 것입니다. – Kevmon

답변

1

수퍼 긴 수식을 방지하려면 수식을 두 개의 열로 나누고 원하는 경우 열을 숨기 쉬울 수 있습니다. 예를 들어, 만약 텍스트가 열인, 다음 셀이 수식 입력 : 을 B1로 :

=RIGHT(A1,LEN(A1)-FIND("class=""title"">",A1)-13) 

C1으로 :

=LEFT(B1,FIND("</div",B1)-1) 

D1에 :

=RIGHT(A1,LEN(A1)-FIND("class=""description"">",A1)-19) 

into E1 :

=LEFT(D1,FIND("</div",D1)-1) 

그런 다음 \ fill을 채 웁니다.

0

는 :

=REPLACE(REPLACE(REPLACE(F9,FIND("This is a description",F9,1),LEN("This is a description"),""),1,LEN(".some-class{property:value;}"),""),LEN(REPLACE(REPLACE(F9,FIND("This is a description",F9,1),LEN("This is a description"),""),1,LEN(".some-class{property:value;}"),"")),1,"") 
: (출력 :이 타이틀은) 타이틀

=REPLACE(REPLACE(REPLACE(F9,FIND("This is a title",F9,1),LEN("This is a title"),""),1,LEN(".some-class{property:value;}"),""),LEN(REPLACE(REPLACE(F9,FIND("Thisis a title",F9,1),LEN("This is a title"),""),1,LEN(".some-class{property:value;}"),"")),1,"") 

: (출력이는 설명입니다)

매우 해결책은 아니지만 원하는 문자열을 얻기 위해 내부의 문자열을 수식으로 변경하는 것을 고려할 수 있습니다. 그래도 여전히 최상의 솔루션을 찾을 수 없다면 (시간이 많이 걸리지 만) 할 수 있습니다.