2013-08-14 3 views
2

아래의 수식을 사용하여 특정 열에서 일부 키워드를 검색합니다. 하지만 이것은 Excel에서 오류를 내고 있습니다 Excel은 7 중첩 된 IF 문으로 제한됩니다.MS Excel 수식 수정

=IF(ISERROR(SEARCH("*SIPC*",J2,1)),IF(ISERROR(SEARCH("*HIU*",J2,1)),IF(ISERROR(SEARCH("*GMC*",J2,1)),IF(ISERROR(SEARCH("*CNS*",J2,1)),IF(ISERROR(SEARCH("*LCSM*",J2,1)),IF(ISERROR(SEARCH("*RoHC*",J2,1)),IF(ISERROR(SEARCH("*GL1*",J2,1)),IF(ISERROR(SEARCH("*GL3*",J2,1)),IF(ISERROR(SEARCH("*GL2*",J2,1)),IF(ISERROR(SEARCH("*URRC*",J2,1)),IF(ISERROR(SEARCH("*UPHY*",J2,1)),IF(ISERROR(SEARCH("*UHAL*",J2,1)),IF(ISERROR(SEARCH("*UMAC*",J2,1)),"","SIPC"),"HIU"),"GMC"),"CNS"),"LCSM"),"RoHC"),"GL1"),"GL3"),"GL2"),"URRC"),"UPHY"),"UHAL") 

아무도 나에게 10 개 이상의 중첩 IF 문을 얻으려면 어떤 대안을 제안 해주십시오. 사전에

감사합니다 .. :)

+2

최대 중첩 다음과 같이 수식의 기능에 액세스 할 수 있습니다. VLOOKUP 사용해보기 http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx – Thanushan

+1

유스 케이스가 더 분명해 지도록 샘플 데이터를 제공하는 것이 유용 할 것입니다. – Werner

+0

또한 J2의 어딘가에 SIPC가 있으면 수정 된 수식 (누락 된 끝 괄호 추가)은 FALSE를 반환합니다. 이것이 의도 된 것인지 확실하지 않습니다. 예, VLOOKUP 및 일부 예제는 중첩 된 if보다 나은 방법을 고안하는 데 도움이 될 것으로 보입니다. – Jerry

답변

1

는 응용 프로그램 (VBA), create a macro에 대해 VBA 사용하고있는 다음과 같은 기능을 정의 할 허용되는 경우 :

public function GetCode(s as string) as string 
    GetCode = "" 
    codes = split(_ 
     "SIPC|HIU|GMC|CNS|LCSM|RoHC|GL1|GL3|GL2|URRC|UPHY|UHAL|UMAC", "|") 

    for each code in codes 
     if InStr(s, code) > 0 then 
      GetCode = code 
      exit for 
     endif 
    next 

end function 

것은 그런 다음 수 있어야한다을 문이 Excel에서 7로 제한되어있는 경우

= GetCode(J2) 
+0

안녕하세요 Nirk, 매크로 코드를 제공해 주셔서 감사합니다. 하지만 1 열만 허용됩니다. 여러 개의 열을 검색하고 하나의 열에서 Getcode를 검색하여 모든 출력을 쉼표로 구분하여 업데이트하고 싶습니다. – Krratna123

+0

@ user2678167 예, 1 열만 허용됩니다. 그 이유는 질문에 대한 것입니다. 내가 게시 한 기능은 바로 그것을 실현합니다. 데이터를 더 집계/처리하고 ERP 시스템을 구축하려는 경우 추가 질문을 자유롭게 게시 할 수 있습니다. I 무엇입니까 : – GolfWolf

+0

안녕 Nirk, 당신은 어떻게 "GetCode (J2), Getcode (K2), GetCode (L2) =를"또는 "= GetCode (L2 J2)는"같은 공식을 결합 말해 주시겠습니까 이 2 공식에 오류가 있습니다. – Krratna123