문제의 각 부분을 수행하는 방법은 여러 가지가 있지만 요구 사항의 조합은 간단하고 간단한 방법 하나 또는 VBA 솔루션을 나타냅니다. VBA가 아닌 솔루션은 도우미 열을 사용합니다. 문장 수와 가능한 결과 수, 결과를 필요로하고 사용 방법 등 다른 요인과 마찬가지로 스프레드 시트의 레이아웃도 알 수 없습니다. 따라서이 답변은 특정 솔루션보다 일반적인 지침이 될 것입니다.
함수를 사용하면 하나 이상의 대상에 대한 문장을 검색하는 것이 복잡해집니다. 더 간단한 접근법은 문장을 단어로 분해 한 다음 단어를 확인하는 것입니다. 문장을 구문 분석하는 간단한 방법은 내장 된 텍스트를 열로 변환 마법사를 사용하는 것입니다.
문장이 A 열에 있다고 가정하고 결과에 대해 다음 몇 개의 열을 비워 두십시오. 이렇게하면 결과는 항상 알려진 위치에 있고 데이터 옆에 표시됩니다. 최대 값은 2로 가정하므로 B와 C 열에는 결과 값이 포함됩니다.
문장 내에있을 수있는 최대 단어 수를 그림으로 그 다음에 많은 헬퍼 열을 예약하십시오. 이것들은 각 단어를 시험하는데 사용됩니다. 다섯 단어를 허용한다고합시다. 열 D : H는 각각 열 I : M을 가리키는 수식을 포함합니다.
행 2가 첫 번째 데이터 행이라고 가정하면 첫 번째 수식은 D2에 있고 I2를 가리 킵니다. 수식은 Gary의 학생이 제안한 것과 유사합니다.
=IF(AND(LEFT(I2,2)="IN",OR(RIGHT(I2,1)="B",RIGHT(I2,1)="1",RIGHT(I2,1)="4",RIGHT(I2,1)="6")),1,0)
대체 수식은 다음과 같습니다.
=IFERROR((LEFT(I2,2)="IN")*(SEARCH(RIGHT(I2,1)," 416b")>1),0)
목표 단어가 패턴에 적합한 지 여부를 알려주는 방법에 대한 몇 가지 아이디어 만 제공합니다. 두 번째 수식은 SEARCH (대소 문자를 구분하지 않으므로)를 사용하여 마지막 문자가 목록에 있는지 확인합니다. 처음 두 문자 테스트 IN
, 그리고 마지막 문자, 각 결과가 True 또는 False로 처리되며 Excel에서 다음과 같이 처리됩니다. 1
과 0
로 나타났다. 두 테스트가 모두 true이면 결과는 다음과 같습니다. 1
, 그렇지 않으면 0
.
SEARCH 표현식에서 공백으로 시작하여 & gt; 1의 결과를 테스트합니다. 내가 이것을 한 이유는 MS Office Online을 사용하여 테스트했기 때문이며 빈 셀의 가장 오른쪽 문자가 테스트 문자열의 1 위 자리에 있다고 생각하기 때문입니다.
SEARCH가 일치 항목을 찾지 못하면 오류를 반환하므로 IFERROR에 수식을 래핑하면 일치하지 않는 단어가 0
.
따라서 두 공식 중 하나가 반환됩니다. 1
단어가 당신의 패턴에 맞는다면 0
그렇지 않은 경우 (또는 대상 셀이 비어있는 경우).
D2에 수식을 입력하고 H2에 끌어다 놓거나 필요한 마지막 행까지 끌어다 놓습니다.
대상 셀을 채우려면 A 열의 모든 데이터를 선택하고 복사하여 I 열에 붙여 넣습니다 (텍스트를 열로 덮어 쓰면 데이터가 덮어 쓰여지고 데이터 열에서 시작됩니다). I 열의 데이터를 선택하십시오. Data
탭에서 Data Tools
그룹을 클릭하십시오. Text to Columns
. 자명 한 마법사가 생깁니다.
데이터를 구분하고 선택합니다. space
구분 기호로 사용합니다. 단어를 구문 분석하기를 원한다고 생각하는 방식에 대한 미리보기를 제공합니다. 마법사가 끝나면 행의 연속 된 셀에 각 단어가 배치됩니다.
D : H의 수식에 적어도 하나는 표시되어야합니다. 1
각 행에. 그것들은 당신의 말이고, 그들의 칼럼은 파싱 된 단어와 같은 상대적 위치에 있습니다.
B 열에서 첫 단어의 값을 가져 오려면 INDEX 및 MATCH를 사용하여 첫 번째 단어를 찾습니다. 1
D : H에있는 행에서 I : M의 같은 행에서 해당 값을 검색합니다. 예를 들어, B2는 다음과 같습니다.
=INDEX(I2:M2,MATCH(1,D2:H2,0))
이것은 I2에서 셀의 값을 검색합니다 : M2는 정확히 일치하는 위치에 해당합니다. 1
D2 : H2에서 발견되었다.
열 C에 대한 후속 값을 얻으려면 (그리고 두 개 이상인 경우), N 번째 일치를 찾는 여러 솔루션이 있습니다 1
. 여기있다. 링크 한 가지 방법으로