2012-01-10 3 views
0

두 개의 워크 시트가 있습니다. 하나는 열 (예/아니요)이고 두 번째는 사람 목록입니다. 시트 2의 사용자 성도 시트 1에있는 경우 해당 열을 '예'로 표시하고 싶습니다. 이 스크립트를 작성하는 방법이 있습니까? 이상적으로이하고 싶은 것 : 해당 행의 마지막 이름은 시트 2의 이름과 일치하는 경우 시트 1 다른 워크 시트의 셀을 반복하여 문자열을 구문 분석합니다.

  • 에 행을 통해

    • 반복 처리를 한 후
    • '예'로 열 셀을 표시
  • +2

    데이터 샘플을 보여 주면 더 쉬울 것입니다. 그러나 'VLOOKUP' 수식 사용에 대한 웹 검색을 할 수 있습니다. – JMax

    +1

    네, "Joe Bloggs"또는 "Bloggs Joe"또는 "Bloggs, Joe"등의 이름 샘플을보아야합니다. 어떻게해야합니까? 당신은 성과 이름을 구별합니까? – Reafidy

    답변

    2

    이 작업을 수행하는 가장 효율적인 방법은 VBA를 사용하는 대신 워크 시트 함수를 사용하는 것입니다. '예/아니오'열에 다음 수식을 입력하고 입력하십시오. 여기

    =IF(ISERROR(MATCH(A1,Sheet1!$A$1:$A$5,0)),"No","Yes") 
    

    A1 당신이 찾고있는 시트 2의 이름이고, Sheet1!$A$1:$A$5 당신을 통해보고 싶은 Sheet1의 이름의 목록입니다.

    는 편집 :

    당신이 Sheet1의 목록의 첫 번째 단어를 일치 시키려면, 당신은 여전히 ​​배열 수식을 사용하여이 작업을 수행 할 수 있습니다.

    =IF(ISERROR(MATCH(A1,LEFT(Sheet1!$A$1:$A$5,FIND(" ",Sheet1!$A$1:$A$5)-1),0)),"No","Yes") 
    

    Ctrl + Shift + Enter를 눌러 배열 수식으로 입력하십시오. 수식이 수식 입력 줄의 {...} 안에 표시되어야합니다.

    이름 목록이 "최근 성"형식 인 경우이 방법이 효과적입니다. 대신 이름의 형식이 "Last, First"이면 다음을 대신 사용할 수 있습니다.

    =IF(ISERROR(MATCH(A1,LEFT(Sheet1!$A$1:$A$5,FIND(", ",Sheet1!$A$1:$A$5)-1),0)),"No","Yes") 
    
    +0

    유일한 문제는 이름 (문자열의 첫 단어 만)을 구문 분석하여 VBA에 의지해야한다는 것입니다. –

    +1

    +1 일단 Dave 's가 성과 이름을 구별하는 방법을 알게되면 수식을 조정할 수 있다고 확신합니다. – Reafidy

    +0

    예, 이름이 각 시트에서 어떻게 형식화되었는지 알려주십시오. – Excellll

    관련 문제