========================================================================================
현재 사용하는 엑셀 버젼을 기재하시면 좀더 정확하고 신속한 답변을 얻으실 수 있습니다.
엑셀 버젼(예: 2007) : 2010
========================================================================================
장비이력카드 - M 설비.xlsx 의 13페이지~18페이지의 '장비명'을 기준으로 '종류','제조사','동력','마력','양정','장비표시유량' 의 6가지 항목값을 2-설비별 상세현황.xlsx 의 펌프 시트에서 가져오고 싶습니다.
장비이력카드 - M 설비.xlsx 의 13페이지를 예로 들면 C193 '장비명' 밑의 C194 '서관9층 소화전 주펌프'를 기준으로
2-설비별 상세현황.xlsx 의 펌프 시트에서 '종류','제조사','동력','마력','양정','장비표시유량' 의 6가지 항목값을 가져오는 것이죠.
그런데 장비이력카드 - M 설비.xlsx 의 '장비명' =
2-설비별 상세현황.xlsx 의 펌프 시트의 A열 '위치'+ B열 '장비명' 이라서 T열에다가 '위장명'이라는 보조필드를 만들고 거기에서 일치하는 값을 찾도록 했습니다.
그 다음이 잘 안 되고, 고민입니다.
1) c196 셀에다가 =LOOKUP(C194,'2-설비별 상세현황.xlsx'!위장명,'2-설비별 상세현황.xlsx'!종류)
수식을 사용하면 2-설비별 상세현황.xlsx 의 펌프 시트의 c4 셀인 '다단터빈' 이 나와야 하는데,
c26 셀인 ''다단벌류트'가 나오는 이유를 모르겠고요.
2) lookup 이 잘 안 되길래 E197셀에
=VLOOKUP(C194,'2-설비별 상세현황.xlsx'!펌프표,MATCH("제조사",'2-설비별 상세현황.xlsx'!항목,0),FALSE)
수식을 써보면 #N/A 오류가 나고,
원래는 D4셀인 '효성굿스프링스'가 나와야 하는데...
3) 그래서 E198셀에
=INDEX('2-설비별 상세현황.xlsx'!마력,MATCH(C194,'2-설비별 상세현황.xlsx'!위장명,0))
수식을 써도 #N/A 오류가 나고 원하는 셀인 G4 의 '25'가 안 나오는 이유를 잘 모르겠습니다.
저기 3가지 방법으로도 각각 원하는값을 불러오는게 가능한지, 아님 3개 중 하나의 수식만 제대로 고치면 가능한 것인지 궁금하네요.
2-설비별 상세현황.xlsx
장비이력카드 - M 설비.xlsx
첫댓글 안녕하세요? [깨몽]님...
먼제 제가 금일 강의때문에 뒤늦게 답변을 드려 죄송합니다.
그리고 이전에 어떤분께도 답변드렸던 내용인데...
엑셀의 열려있는 파일을 이용해서 데이터를 처리하도록 디자인되어 있습니다.
다른파일에 내용을 참조하시는 방법은 매우 위험한 방법으로 하시지 않는게 좋습니다.
그리고 LOOKUP 함수는 구시대 유물로 현재는 VLOOKUP이나 HLOOKUP같은 훌륭한 함수가 있습니다.
해당함수를 사용하시는게 훨씬 더 효율적입니다.
오류의 원인중 #N/A 오류는 VLOOKUP 함수의 경우는 찾고자 하는 값이
매우 위험한 방법 ㅋㅋ. 뭐 그래도 해야할 경우가 생기지 않겠습니까? 처음에 사용해본 indirect 함수는 정말 다른 파일이 열려야 하더군요. 그래서 vlookup 이나 index 로 해결할려고 한 것인데 잘 안 되더라고요.
기준열에 없기에 생기는 오류입니다.
그러므로 찾고자 하는 값과 기준열의 값을 다시한번 확인해 보시는게 좋습니다.
마지막으로 함수강좌의 VLOOKUP 함수 내용을 한번 보시고 다시한번 질문을 주시는게 좋을듯 합니다.
하지만 이 정도의 수식을 사용하실 정도라면 제가 드린 힌트와 VLOOKUP 함좌를 보시면 능히 스스로 해결하실 수 있으리라 보입니다.
그럼 잘 해결되시길... ^^*
vlookup 기준열 문제는 대충 짐작이 가는데, 그 전에 내부함수 MATCH("제조사",'2-설비별 상세현황.xlsx'!항목,0) 부터 #N/A 오류가 나는데 이해를 못 하고 있습니다.
@깨몽 match 함수는 2-설비별 상세현황.xlsx파일의 항목으로 이름정의된 범위에서 '제조사'라는 문자를 찾아 그 인덱스를 반환하는 역활을 합니다. 이 반환받은 인덱스는 다시 index 함수의 첫번째 인수인 범위에 적용되어 몇번째 셀을 나타낼지를 결정하게 됩니다.