엑셀 그림 불러오기 함수 :: ImageLookup 함수 사용법
목차 바로가기
패치 노트
파일 경로 및 인터넷 URL 에서 실시간으로 그림을 받아올 수 있는 xIMAGE 함수 추가기능을 업데이트 하였습니다. xIMAGE 함수 추가기능은 아래 링크에서 다운로드 가능합니다.

항목 | xIMAGE | ImageLookup |
대상경로 | 웹URL, 파일경로 | 파일경로 |
삽입방식 | 그림형태로 삽입 | 메모형태로 삽입 |
처리속도 | 보통 | 빠름 |
보조기능 | - | 파일경로 동시 출력 가능 |
편의성 | 그림 형태로 삽입되므로 편리하게 수정 가능 | 메모 형태로 삽입되므로 내용 수정시 다소 불편 |
강의 설명
이번 강의에서는 셀 안에 그림을 불러오는 명령문 ImageLookup 함수에 대해 알아봅니다. VBA 사용에 익숙치 않은 분들을 위해 Add-In 추가기능 파일을 제공해드립니다. 아래 추가기능 파일(.xlam)을 다운받아 설치하면 ImageLookup 함수를 바로 사용하실 수 있습니다. (엑셀 ADDIN 추가기능 설치방법 보러가기)
ImageLookup 함수는 사용자지정함수입니다. 따라서 사용자 컴퓨터에 ImageLookup 함수가 작성된 VBA 매크로 또는 추가기능이 없을경우 #NAME 오류를 반환하는 점을 주의합니다.
최신 업데이트 된 ImageLookup 함수의 추가기능 및 명령문의 상세설명은 함수 상세설명 페이지에서 확인하세요.
VBA 사용이 어려우실 경우, 설치하여 바로 사용할 수 있는 엑셀 추가기능을 다운받아 사용해보세요.

ImageLookup함수 사용하면 무엇이 좋을까요?
- 외부에서 필요한 그림파일만 불러오므로 통합문서 파일을 가볍게 운영할 수 있습니다.
(INDEX/MATCH 함수를 응용한 그림 불러오기 공식은 현재 통합문서안에 모든 그림을 저장해야만 동작합니다.) [관련강의 보러가기] - 정확한 파일이름을 몰라도 '유사일치'로 그림을 불러올 수 있습니다.
- 셀 크기가 변경되면 셀 크기에 맞춰 이미지 크기가 자동조절됩니다.
- ImageLookup 함수가 없어 #NAME 오류가 출력되더라도, 기존 삽입된 그림은 계속 유지됩니다. 뿐만아니라, #NAME 오류는 메모뒤에 가려지므로 일반 사용자는 오류가 발생한 것을 인지하지 못합니다.
패치노트
- 2019년 12월 22일
: 이제 병합된 셀에서도 그림 크기가 자동으로 맞춰집니다.
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [퀵VBA] 그림 불러오기 ImageLookup 함수 (그림포함)완성파일
영상강의
구문
=ImageLookup (파일명, [폴더경로], [일치옵션], [오류문구], [파일경로출력], [테두리출력], [확장자] )
사용예제
=ImageLookup("사과")
'// 현재 통합문서와 같은 경로에 위치한 '사과' 그림파일을 출력합니다.
=ImageLookup("사과", "C:\")
'// 'C:\'에 위치한 '사과' 그림파일을 출력합니다.
=ImageLookup("사", "C:\", False)
'// 'C:\'에 위치한 '사'를 포함한 그림파일을 출력합니다. (예: '사과', '사다리' 등..)
=ImageLookup("사과", "C:\", , , , , "png")
'// 'C:\'에 위치한 '사과' 라는 'png' 형식의 그림파일을 출력합니다. (예: '사과.jpg'는 출력하지 않습니다.)관련 기초함수
ImageLookup 함수 사용법 상세설명
폴더에서 그림을 불러오는 함수, ImageLookup 함수의 동작 원리
ImageLookup 함수는 '셀 메모' 기능을 응용한 함수입니다. 셀 메모에는 '글자' 말고도 메모의 배경으로 '그림'을 삽입할 수 있습니다. 메모에 그림을 삽입하는 방법에 대한 자세한 설명은 관련포스트를 참고하세요.

즉 해당 공식은, 1] '메모'를 현재 셀의 크기와 동일하게 삽입한 뒤, 2] 해당 메모의 배경을 선택한 '그림'으로 변경하여 셀에 그림을 삽입한 것과 동일하게 동작합니다.

그림 개체로 삽입하지 않고 '메모' 를 사용하는 이유
여러가지 이유가 있으나, 요약하자면 '함수의 동작 속도'입니다. 엑셀에 삽입되는 '그림' 또는 '이미지'는 별도의 '개체'로 삽입됩니다. 다시 말해, 시트의 한 구성요소인 '셀'과는 별개로 삽입이 되는데요. 따라서 시트에 그림을 삽입했다는 것은 '시트위에 그림을 얹는 것'이 되고 셀과는 연관성이 없게 됩니다.

삽입된 그림의 이름을 '셀 주소'로 지정하거나, 이름정의범위 등을 활용하여 코드를 구현할 수도 있습니다 .하지만 효율성이 상당히 떨어지겠죠. '셀'의 한 구성요소인 '메모' 기능을 활용하면, 셀에서 바로 메모를 컨트롤할 수 있게됩니다. 다시말해, 그림개체를 이용하는 것보다 훨씬 적은단계로 그림 삽입/편집 작업을 할 수 있게 됩니다.

인수 설명
인수 | 설명 |
파일명 | 검색할 파일이름입니다. |
폴더경로 | 파일을 검색할 폴더경로입니다. 기본값은 현재통합문서와 같은 경로입니다. |
일치옵션 | TRUE일 경우 정확히 일치하는 그림을 검색합니다. |
오류문구 | 찾는 파일이 없을시 출력할 안내문구입니다. 기본값은 빈칸입니다. |
파일경로출력 | 이미지 위 파일경로를 출력할 여부입니다. 기본값은 FALSE 입니다. |
테두리출력 | 테두리 출력 여부입니다. 기본값은 FALSE 입니다. |
확장자 | 검색할 파일 확장자를 지정합니다. 기본값은 "png, jpeg, jpg, gif" 입니다. |
자주묻는 질문
Q. 그림이 화면에는 표시되는데 인쇄 미리보기에는 안보입니다.
ImageLookup 함수는 그림을 '메모'형식으로 붙여넣기 하므로, 인쇄 설정에서 '메모 및 주석표시' 확인란을 체크해야합니다. 단축키 [Ctrl + P] 로 인쇄설정에 가신 뒤, '페이지 설정' - '시트' ' '주석 및 메모' 에서 [시트에 표시된 대로 (메모전용)] 을 선택합니다.

Q. 그림의 크기가 셀에 맞춰 자동조절이 되지 않습니다.
ImageLookup 함수는 '입력이 되는 순간' 그림 크기를 셀에 맞춰 조절합니다. 즉, 그림이 삽입 된 이후에 셀 크기를 변경하였다면 함수를 다시 한번 입력해서 셀의 크기와 동일하게 그림의 크기를 맞출 수 있습니다.
Q. 셀 우측상단의 빨간색 표시를 숨기고 싶습니다.
셀에 메모를 삽입하면 셀 우측 상단에 '빨간색' 라벨이 추가됩니다.

이 라벨은 인쇄결과물에는 표시되지 않지만, 만약 화면영역을 스크린샷하여 그림파일로 저장할 경우 그대로 표시되어 보기에 안 좋습니다. 그럴 경우 아래 설정을 변경하시면 빨간라벨을 숨길 수 있습니다.
[파일] - [옵션] - [고급] - [표시] - [메모가 있는 셀 표시] - "메모와 표식 모두 표시 안함" 으로 선택

맨 처음 설정을 변경시, 기존에 작성되었던 ImageLookup 함수 그림이 모두 사라질 수 있습니다. 그럴경우, 다시 함수를 입력하면 그림이 정상 출력됩니다.