Bài viết: Tra cứu hình ảnh trong Excel, tại sao không?

TRA CỨU HÌNH ẢNH TRONG EXCEL, TẠI SAO KHÔNG?

Người dùng Excel đã quá quen thuộc với các hàm tra cứu như VLOOKUP, INDEX và MATCH để tìm kiếm thông tin từ 1 danh sách. Nhưng làm thế nào để thực hiện việc tra cứu mà kết quả trả về là 1 hình ảnh?

Điều này đòi hỏi thêm một chút sáng tạo, vì 1 VLOOKUP tiêu chuẩn không có khả năng trả kết quả là 1 hình ảnh từ 1 danh sách.

GPE xin giới thiệu với bạn video clip dưới đây để chia sẻ cách tạo ra 1 tra cứu hình ảnh. Làm thế nào để kết quả là 1 hình ảnh của 1 con vật phụ thuộc vào tên con vật được lựa chọn từ 1 danh sách?


Chuẩn bị dữ liệu

Trong ví dụ này, chúng ta có 1 danh sách các con vật và hình ảnh của chúng. 1 điều quan trọng bạn cần lưu ý, đó là hình ảnh các con vật được nằm gọn trong 1 ô. Hình ảnh tuyệt nhất là hình có khoảng trắng giữa viền hình ảnh với viền ô. Nếu bạn để hình sát viền ô như GPE trong ví dụ này, bạn sẽ thấy kết quả bao gồm cả viền cam của ô nữa. Trông không đẹp mắt, đúng không nào?

Tại ô D2 dùng để tra cứu, có 1 danh sách được thả xuống khi bạn bấm vào nút mũi tên bên góc phải của ô. Khi 1 con vật được chọn, hình ảnh của con vật tương ứng phải được trả về.

Vậy làm sao để có được danh sách thả xuống này? Cách đơn giản nhất là dùng Data Validation trong thẻ Data trên thanh Ribbon. Xem clip để rõ hơn cách làm bạn nhé.

Tạo tra cứu hình ảnh bằng Define Name

Vì tra cứu hình ảnh không phải là viết 1 hàm tra cứu trong 1 ô để trả lại kết quả là 1 hình ảnh, nên chúng ta không làm như cách thông thường được. Ta sẽ nhập công thức vào một Define Name. Các hàm INDEXMATCH sẽ được sử dụng để thực hiện việc tra cứu này.

Cách làm như sau :
1/ Nhấp vào thẻ Formulas trên thanh ribbon và sau đó, nhấp vào nút Define Name.
2/ Nhập vào trường Name tên mà bạn muốn, trong ví dụ dưới đây là Thu_vat
3/ Tại trường Refers to, bạn nhập công thức sau đây :

=INDEX(Sheet1!$B$2:$B$5;MATCH(Sheet1!$D$2;Sheet1!$ A$2:$A$5;0))
Trong đó :
- Sheet1!$B$2:$B$5 là cột chứa hình ảnh những con vật để hàm INDEX trả kết quả
- Sheet1!$D$2 là ô chứa tên con vật được lựa chọn trong danh sách
- Sheet1!$A$2:$A$5 là cột chứa tên các con vật để tra cứu

Liên kết các hình ảnh đến công thức

Bây giờ chúng ta cần phải liên kết các hình ảnh trong ô E2 với tên đã được đặt trong Define Name trước đó.
1/ Chọn 1 hình ảnh bất kì trong cột B, Copy - Paste vào ô E2
2/ Click vào hình ảnh tại ô E2, nhập =Thu_vat tại thanh Formulas, Enter.

Đó là tất cả những gì cần làm. Bây giờ bạn chỉ việc thay đổi tên con vật bằng cách lựa chọn từ danh sách ô D2 và xem hình ảnh tương ứng được trả về trong ô E2.

Xem video clip để nắm rõ hơn về cách làm.

Chúc bạn thành công.

Nguyễn Bảo Khanh

Một số bài viết có liên quan:
1/ Loại bỏ GETPIVOTDATA mà không cần tắt nó
2/ 3 cách đơn giản nhất để lọc danh sách duy nhất
3/ Tạo nhiều Subtotal trong PivotTable
4/ 5 phiền phức của PivotTable
5/ Làm cách nào để hiện các danh mục không có dữ liệu trong Pivot Table?
6/ PivotTable & PivotChart 2007 - Từ căn bản đến nâng cao (phần 7)
7/ PivotTable & PivotChart 2007 - Từ căn bản đến nâng cao (phần 6)
8/ PivotTable & PivotChart - Từ căn bản đến nâng cao (phần 5)
9/ PivotTable & PivotChart - Từ căn bản đến nâng cao (phần 4)
10/ PivotTable & PivotChart - Từ căn bản đến nâng cao (phần 3)
 
Lần chỉnh sửa cuối:

Bình luận

Mình sử dụng excel 2013, nhưng vào Menu Insert thì không thấy thẻ Picture nên không thể chèn hình vào được, Bạn hướng dẫn giúp mình nhé. Cảm ơn bạn.
 
sao mình ko add công thức vào được nhi;=INDEX(Sheet1!$B$2:$B$5;MATCH(Sheet1!$D$2;Sheet1!$ A$2:$A$5;0)).toàn báo lỗi là sao
Hi bạn,

Có thể máy bạn dùng công thức với dấu phân cách là dấu ",". Ở đây ví dụ dùng thiết lập máy là dấu ";" nên bạn sẽ bị lỗi. Bạn chỉ cần đổi dấu ";" thành dấu "," trong công thức là được.
 
mình liên kết hình ảnh đến công thức không đc. copy hình ảnh và chọn vào thì không chọn đc vào thanh formulas. excel 2007 không làm đc hay sao bạn. Cảm ơn!
 
Lần chỉnh sửa cuối:
hay, nhưng mình thấy không hữu ích cho lắm với data quá nhiều. thì việc làm này thao tác mất nhiều time và thủ công quá à.
 
Cho mình hỏi nếu "nâng cấp" cách tra cứu này như sau thì có làm được không?
- Mình quản lý kho, với 1 mã chi tiết sẽ có hình ảnh kèm theo để dễ nhận biết. Mình chép tất cả các hình ảnh vào một thư mục trên ổ cứng (hoặc server), với tên file của hình ảnh là mã số chi tiết.
- Sau đó tạo một hàm/macro/VBA tương tự để khi nhập mã số vào các ô A1, A2, A3......, và enter thì hình ảnh tương ứng link từ thư mục trên sẽ tự động chèn vào ô B1, B2, B3.... có được không?
 
Bài viết rất hữu ích. Nhưng mình có thêm mong muốn là các file ảnh không nằm chung với file Excel mà nằm ở thư mục khác thì có được không? Xin lỗi vì mình không biết viết code nên không hiểu các code viết trong file này.
 
Cho mình hỏi nếu "nâng cấp" cách tra cứu này như sau thì có làm được không?
- Mình quản lý kho, với 1 mã chi tiết sẽ có hình ảnh kèm theo để dễ nhận biết. Mình chép tất cả các hình ảnh vào một thư mục trên ổ cứng (hoặc server), với tên file của hình ảnh là mã số chi tiết.
- Sau đó tạo một hàm/macro/VBA tương tự để khi nhập mã số vào các ô A1, A2, A3......, và enter thì hình ảnh tương ứng link từ thư mục trên sẽ tự động chèn vào ô B1, B2, B3.... có được không?
Bạn muốn chọn ảnh bất kỳ Folder nào cũng được, xem File bài 11 của Link sau:

http://www.giaiphapexcel.com/forum/showthread.php?107667-Nhờ-trợ-giúp-làm-thẻ-học-sinh-từ-cơ-sở-dữ-liệu-ảnh-có-sẳn/page2
 
Cám ơn bạn Be09 nhé, nhưng cách làm của bạn tongquangtuyen phù hợp với mình hơn. Vì mình quản lý hình ảnh các nguyên vật liệu nên có thể lên đến trên 10 ngàn hình, load vào tab "tao_link" thì lâu quá.
Khi mình cần hình cho một danh sách mã chi tiết thì copy danh sách đó vào và hình sẽ hiện lên ở dòng tương ứng.
Hình ảnh và file excel cùng lưu trên server nhưng ở 2 thư mục khác nhau.
temp.jpg
 
Cám ơn bạn Be09 nhé, nhưng cách làm của bạn tongquangtuyen phù hợp với mình hơn. Vì mình quản lý hình ảnh các nguyên vật liệu nên có thể lên đến trên 10 ngàn hình, load vào tab "tao_link" thì lâu quá.
Khi mình cần hình cho một danh sách mã chi tiết thì copy danh sách đó vào và hình sẽ hiện lên ở dòng tương ứng.
Hình ảnh và file excel cùng lưu trên server nhưng ở 2 thư mục khác nhau.
Cái File này chọn bất kỳ Cell nào, bất kỳ Folder hay hình nào, chẳng cần tên hình và đường dẫn trong bất kỳ Cell, coi có hay hơn cái File đó không.

Tại bạn không biết sử dụng File bài 16, chứ thật ra tôi làm File đó với mục đích là dựa vào tên File và lấy thông tin có sẳn gán vào cho cái hình đó.

Còn File này cũng tương tự như File
bài 16 nhưng phải nhập thủ công (không lấy được thông tin có sẳn).

Mỗi File tôi làm đều có mục đích ứng dụng riêng chứ không phải làm để coi chơi.
 

File đính kèm

Lần chỉnh sửa cuối:
Hic, hic.. bạn hiểu sai ý mình rồi. Mình sẽ nói lại từ đầu ý định nhé.
- Mình có một thư mục chứa hình ảnh khác với thư mục chứa file excel cần thao tác. Tên file ảnh sẽ là mã số của chi tiết.
Trong file hướng dẫn "Commpic" thì file ảnh phải ở chung thư mục file excel.
4.jpg
- Trong file excel, ở cột A, mình nhập mã số chi tiết giống tên file ảnh, và enter thì hình sẽ hiện ra ở dòng tương ứng trên côt nào đó kế bên.
- Mục đích là trong file excel mình chỉ cần khoảng 100 dòng cho 100 hình cần cho một danh sách nào đó.
5.jpg

- Trong thư viện hình ảnh của mình có khoảng trên 10 ngàn hình, và hình được cập nhập liên tục. Nếu load hết vào file "LOADHINH" của bạn thì rất lâu và file sẽ rất nặng.
6.jpg
Mong bạn hiểu ý định của mình.
 
Chào các bác,
Mình có sẵn một sheet - "Mã hàng-Hình ảnh". Bên sheet "Hàng nhập kho", mình đang muốn khi nhập mã hàng vào cell (mã hàng) thì cell kế bên (hình ảnh) sẽ tự động hiện hình ảnh lấy ra tương ứng từ sheet "Mã hàng - Hình ảnh" (Việc này giúp NV nhập kho có thể hình dung được ngay loại sản phẩm đang nhập kho).
Cảm ơn các bác.
 
Top Bottom