Nhờ hướng dẫn tạo combobox theo điều kiện

Liên hệ QC

quangtinit

Thành viên mới
Tham gia
24/5/08
Bài viết
32
Được thích
0
Chào các bạn mình có một vấn đề muốn hỏi các bạn?
Mình có một file danh sách lớp gồm có nội dung
Ma lop, mamonhoc.
Bây giờ mình muốn khi có mã lớp thì sẽ tạo ra 1 combobox ở mã môn học, khi kích chuột chọn combobox chỉ hiện ra những môn học của lớp đó.
Các bạn giúp mình với nhé. Chân thành cảm ơn.
 

File đính kèm

  • TAO COMBO BOX THEO DK.xls
    16 KB · Đọc: 47
Chào các bạn mình có một vấn đề muốn hỏi các bạn?
Mình có một file danh sách lớp gồm có nội dung
Ma lop, mamonhoc.
Bây giờ mình muốn khi có mã lớp thì sẽ tạo ra 1 combobox ở mã môn học, khi kích chuột chọn combobox chỉ hiện ra những môn học của lớp đó.
Các bạn giúp mình với nhé. Chân thành cảm ơn.
1. Chọn ô C5, nhấn Ctrl+F3, tạo name MON như sau:
Mã:
=OFFSET(Sheet1!$C$12,MATCH(Sheet1!C$4,Sheet1!$B$13:$B$200,0),0,COUNTIF(Sheet1!$B$13:$B$200,Sheet1!C$4),1)
2. Chọn vùng C5:E5, chọn Data\Validation và nhập Allow: List, Source:=MON
Cách này chỉ đúng nếu vùng B12:C... được sort theo cột B.
 

File đính kèm

  • TAO COMBO BOX THEO DK.rar
    4.4 KB · Đọc: 114
=OFFSET(Sheet1!$C$12,MATCH(Sheet1!C$4,Sheet1!$B$13:$B$200,0),0,COUNTIF(Sheet1!$B$13:$B$200,Sheet1!C$4),1)BẠN CHO MÌNH HỎI DÒNG NÀY GÕ CHỖ NÀO VẬY.CHÂN THÀNH CẢM ƠN BẠN
 
Vào insert -> Name -> Difine -> Trong ô Names in workbook -> Đặt tên là MON
Trong ô Refers to -> Nhập công thức trên vào
 
Trước hết, bạn cần biết Cú pháp hàm OFFSET.
Cú pháp: =OFFSET(reference, rows, cols [, height] [, width])
reference: Là vùng mà bạn muốn làm điểm xuất phát để tham chiếu đến vùng khác. Reference phải chỉ đến một ô hoặc một dãy ô liên tục, nếu không, hàm sẽ báo lỗi #VALUE!

rows: Số dòng dời lên (hoặc xuống) tính từ reference, nhập số dương nếu muốn dời xuống, hoặc số âm nếu muốn dời lên.

cols: Số cột dời sang phải trái (hoặc phải) tính từ reference, nhập số dương nếu muốn dời sang phải, hoặc số âm nếu muốn dời sang trái.

height: Là số dòng (độ cao) của vùng tham chiếu cần trả về.

width: Là số cột (độ rộng) của vùng tham chiếu cần trả về.

Ghi chú
:

  • Nếu số dòng (rows) hoặc cột (cols) vượt ra ngoài phạm vi bảng tính, hàm sẽ báo lỗi #REF!
  • Độ cao (height) và độ rộng (width) nếu không nhập, thì xem như nó bằng với độ cao và độ rộng của vùng xuất phát (reference)
Bây giờ, trong công thức trên:
Mã:
=OFFSET([COLOR=#0000ff]Sheet1!$C$12[/COLOR],[COLOR=#ff0000]MATCH(Sheet1!C$4,Sheet1!$B$13:$B$200,0)[/COLOR],[B][COLOR=#800080]0[/COLOR][/B],[COLOR=#4b0082]COUNTIF(Sheet1!$B$13:$B$200,Sheet1!C$4)[/COLOR],[COLOR=#696969][B]1[/B][/COLOR])
Xuất phát từ Sheet1!$C$12, ta dịch chuyển xuống một số hàng bằng vị trí của Sheet1!C$4 trong vùng Sheet1!$B$13:$B$200 (thể hiện qua MATCH(Sheet1!C$4,Sheet1!$B$13:$B$200,0)) và 0 cột, sau đó mở rộng vùng ra số hàng bằng với số lượng các ô có giá trị bằng Sheet1!C$4 trong vùng Sheet1!$B$13:$B$200 (thể hiện qua COUNTIF(Sheet1!$B$13:$B$200,Sheet1!C$4)) và 1 cột.
Hay nói cách khác, hàm OFFSET trên trả về vùng chứa các môn học của lớp tại ô C4.
 
Web KT

Bài viết mới nhất

Back
Top Bottom