Bạn đặt tên cho vùng Versions với tham chiếu trả về thay đổi theo tùy chọn của G3 như sau: Nhấn | chọn New… | tại hộp Name nhập vào tên là Versions | tại Refers to nhập vào công thức sa
Trang 1Diễn đàn Kiến thức Excel Những bài viết tổng hợp của Giải Pháp Excel Hàm Offset và Validation
Ðề tài: Hàm Offset và Validation
Phát hành sách "VBA trong Excel - Cải thiện và tăng tốc - năm 2013"
Phát động CT "Chia sẻ khó khăn miền biên giới” tại Bát Đại Sơn - Quản Bạ - HG
Đăng ký dự SN GPE lần 7: Hà Nội - TP HCM - Đà Nẵng
Thoát Khung điều chỉnh
Hồ sơ của bạn Lưu ý: 4
bang_tt
Có Bài mới Nhắn tin Hỏi/Ðáp Lịch Cộng đồng Chọn lệnh Chức năng
Tìm kiếm chi tiết
Hiển thị kết quả tìm kiếm từ 1 đến 3 trên tổng số: 3
Ðiều chỉnh Tìm trong đề tài Kiểu xem 10-08-08, 10:50 PM
Tham gia ngày:
Nơi Cư Ngụ:
Bài gởi:
Cảm ơn:
Được cảm ơn 19,372 lần trong 3,924 bài viết
07 2007 Dalat 4,867 4,306
Công thức này:
Nếu đã dùng Excel2007 để làm, thì tại sao không dùng IFERROR:
=IFERROR(INDEX(OS, SMALL(IF(MATCH(OS, OS, 0) = ROW(INDIRECT("1:" & ROWS(OS))), MATCH(OS, OS, 0), ""), ROW(INDIRECT("1:" & ROWS(OS))))),"")
thay đổi nội dung bởi: TranThanhPhong, 09-12-08 lúc 09:05 PM Lý do: đề tài đóng
Tra cứu hàm Excel | Công thức và Hàm trong Excel 2007 | Các hàm của Analysis Toolpak Addin | Những tuyệt chiêu trong
Excel | Hướng dẫn sử dụng Options Excel 2007 | Hướng dẫn sử dụng Options Excel 2010 | Thay thái độ, đổi cuộc đời | Nên đọc
trước khi gửi một câu hỏi hoặc tạo mới môt đề tài | PivotTable & PivotChart 2007 - Từ căn bản đến nâng cao | Góp ý với các bài
viết của BNTT
Dành cho những ai thích nghe Piano
#3
Bùi Nguyễn Triệu Tường BNTT
=IF(ISERR(INDEX(OS,SMALL(IF(MATCH(OS,OS,0)=ROW(IND IRECT("1:"&ROWS(OS))), MATCH(OS,OS,0),""),ROW(INDIRECT("1:"&ROWS(OS)))))) ,"",
INDEX(OS,SMALL(IF(MATCH(OS,OS,0)=ROW(INDIRECT("1:" &ROWS(OS))), MATCH(OS,OS,0),""),ROW(INDIRECT("1:"&ROWS(OS))))))
Cảm ơn
Có 53 thành viên cảm ơn BNTT về bài viết này:
2337, alexdoan, chuoixao, cloudy1012, conmalangtu_ndt, dash177, dinhphuong9327, duyle86, Gbco, gia nguyên, Hai Xuan,
heocon405, hoangtechu, hoavth, hongnhungpx, jindoxaydung, jv251285, khaixmen, lacbuidoi, lam273, lehoaithanh,
leonardo208, LIENTHUYTHANH, linhngoc, logica, lsxinh, luanvien177, NgNgocMinhKt, ngocmaidaiquoc24483, Obalike,
oliverlely, phnam77, phuonghdbank, soiconkthn, songvui, son_sajv, thangbx, tigerss, TKT, tpthuonghoai, trung78952,
TranThanhPhong, tuoitrevietnam, tuvuduy, van_thanh_phong, virgin2010, XeBaGac, xuan.nguyen82, xuannguyen12012,
yeuthamhangxom
13-10-07, 12:33 PM
Tham gia ngày:
Nơi Cư Ngụ:
Bài gởi:
Cảm ơn:
Được cảm ơn 15,295 lần trong 1,524 bài viết
03 2007
TP Hồ Chí Minh 1,743 2,370
Offset truyền kỳ
Kỳ 2: Offset và Validation List
a Có bao giờ bạn muốn tạo một Validation List mà nội dung của nó thay đổi theo sự thay đổi của một List khác (danh sách) Bài
viết này sẽ hướng dẫn từng bước cách làm:
Giả sử bạn có danh sách gồm 2 cột: OS (hệ điều hành) và Versions (Phiên bản) (Xem file đính kèm) Bây giờ bạn muốn tạo một
#2
Hãy biết ước mơ!
TranThanhPhong Diễn đàn
Trang 2Qui trình thực hiện:
B1 Tạo một danh sách A1:B34 (xem file đính kèm), với 2 cột OS và Versions Lưu ý một OS có thể có nhiều Version.
B2 Đặt tên cho vùng A2:A34 với tên là “OS” Bạn quét chọn vùng A2:A34 | nhấn tổ hợp <Ctrl+F3> | Chọn New… gõ OS vào hộp
Name, chọn Scope là Worksheet Offset2 hoặc Workbook đều được và tại Refers to gõ vào =A2:A34 | Nhấn nút OK (Excel 2007)
Nếu dùng các phiên bản Excel trước thì sau khi nhấn <Ctrl+F3> là có thể khai báo việc đặt tên vùng và sao đó nhấn nút Add để
hoàn thành
B3 Tạo một danh sách chứa tên các hệ điều hành được trích ra từ cột OS (danh sách này không trùng lặp) Bạn quét chọn các ô
D2:D34 dùng để chứa danh sách kết quả trích lọc không trùng | nhập vào công thức mảng trích lọc sau:
=IF(ISERR(INDEX(OS,SMALL(IF(MATCH(OS,OS,0)=ROW(IND IRECT("1:"&ROWS(OS))),
MATCH(OS,OS,0),""),ROW(INDIRECT("1:"&ROWS(OS)))))) ,"",
INDEX(OS,SMALL(IF(MATCH(OS,OS,0)=ROW(INDIRECT("1:" &ROWS(OS))),
MATCH(OS,OS,0),""),ROW(INDIRECT("1:"&ROWS(OS))))))
Kết thúc công thức bằng tổ hợp phím <Ctrl+Shift+Enter> Công thức trên sẽ trích ra các loại hệ điều hành (OS) và mỗi loại chỉ
lấy một lần, các dòng trùng sẽ thay bằng “”
B4 Sau khi đã có danh sách các OS duy nhất, bạn hãy đặt tên cho danh sách này Lưu ý, có khả năng có những loại OS khác do
vậy ở đây khi đặt tên là dùng hàm Offset để tham chiếu đến vùng dữ liệu động
Bạn nhấn <Ctrl+F3> | Chọn New… | đặt tên cho vùng là OSValList tại Name | tại Refers to nhập vào công thức sau;
=OFFSET(Offset2!$D$2,0,0,COUNTA(Offset2!$D$2:$D$34 )-COUNTIF(Offset2!$D$2:$D$34,""),1)
Công thức trên giúp trả về vùng tham chiếu các OS duy nhất một cách động
Trang 3B5 Tạo bảng nhỏ như hình bên dưới Chọn ô G3 và đặt tên là Val1Cell, chọn ô H3 đặt tên là Val2Cell (theo cách đặt tên nêu trên
hoặc có thể đặt tên bằng cách gõ trực tiếp vào Name Box)
B6 Đây là bước quan trọng giúp cho danh sách chọn tại H3 sẽ thay đổi phụ thuộc vào tùy chọn tại G3 Bạn đặt tên cho vùng
Versions với tham chiếu trả về thay đổi theo tùy chọn của G3 như sau:
Nhấn <Ctrl+F3> | chọn New… | tại hộp Name nhập vào tên là Versions | tại Refers to nhập vào công thức sau;
=OFFSET(INDIRECT(ADDRESS(MATCH(Val1Cell,OS,0)+1,2, ,,)),0,0,COUNTIF(OS,Val1Cell),1)
Công thức này giúp chọn ra vùng Versions tương ứng với việc chọn OS tại ô G3
B7 Áp Validation cho 2 ô G3 và H3:
Chọn ô G3 | vào Data | Data Validation | Settings | chọn List | tại Source nhập vào =OSValList | nhấn nút Ok hoàn tất
Chọn ô H3 | vào Data | Data Validation | Settings | chọn List | tại Source nhập vào =Versions | nhấn nút Ok hoàn tất
Các bước đã hoàn tất, các bạn hãy chọn thử một OS nào đó tại G3 và qua ô H3 xem danh sách Version tương ứng
Các cải tiến cho công cụ này chúng ta có thể tiếp tục thảo luận trên GPE
TP
Tập tin đính kèm Offset.rar (12.1 KB, 8820 lần tải)
Trang 4Cảm ơn
Có 131 thành viên cảm ơn TranThanhPhong về bài viết này:
2337, @baoquang, anchung79, anhtitomo, anhtuan1066, bechanga, binhb15dlna, bivily, bogay, boyamater, cadafi,
camchuongdo, canhsatlangtu113, Cao_Thanh_Ha, chandatn, Chu quyen, coffeeicon, dinhphuong9327, dohuuthuc, dudieuwa,
duongmanhquan, duongthanhtu89, duyle86, dvu58, gau2603, Gbco, gia nguyên, Good-Luck, hangkhunglam,
happy_lisa_happy, headbear, heocon405, hetxay, hoabillynguyen, hoangminhtien, hoangthuymi, hoangtuech90, hoangvuluan,
Hoàng Trọng Nghĩa, hong gam, hongnhungpx, honka, hostcuibap, HUE2007, hung29kt, HuuThanh, iamcuong, jv251285,
kittulip, l01012011, lacbuidoi, lam273, lebinh319, lenova, leonardo208, LeVanVi_UEL, LIENTHUYTHANH, linhngoc, linton,
logica, luanvien177, luonchinguoc, luong duyen, mai1tyeu, mailinhphong, milanodesire, muabui88, muadem, mymichau,
namcobain, ndhmoney686, ngdung, ngocmaidaiquoc24483, nguyenhongphong, nguyennhungptit, nhung2008, ninhhoanghiep,
oliverlely, ongcusike, Pakinac, phonglan978, PhongPhan, pns56, Quang Tinh, quangtranevn, QuocPhong, saintpiox, sendme,
skulblaka, soiconkthn, songvui, son_sajv, sumisumo, tedaynui, TeThienDaiThanh, thaibinh_excel, thaitam87, thangbx,
thang_aof_cva, thanhcong2101989, thanhthu2004, Thay, thb.58, TKT, tonggiap, topgun, tqforever, trande314, trung78952,
trungtuanthanh, truongthikt, tsf, tuoitrevietnam, tuvuduy, tuyetnhi, tuyphong1983, vanhesing, Vanpham2007, vanquangdy,
vinhsonghinh, whitemouse, Xuan Phuong, xuan.nguyen82, xuannguyen12012, xuan_ha919, yenbinhta3,
yeuthamhangxom, Yin.kn
11-10-07, 02:39 PM
Tham gia ngày:
Nơi Cư Ngụ:
Bài gởi:
Cảm ơn:
Được cảm ơn 15,295 lần trong 1,524 bài viết
03 2007
TP Hồ Chí Minh 1,743 2,370
Offset truyền kỳ
Offset truyền kỳ
Kỳ 1: Giới thiệu hàm Offset
Công dụng:
Trả về tham chiếu đến một vùng nào đó, cách một ô hoặc một dãy ô một khoảng cách với số dòng hoặc số cột được chỉ định
trước Chúng ta có thể chỉ định số dòng, số cột của vùng tham chiếu trả về
Cú pháp:
=OFFSET(reference, rows, cols, height, width)
Trong đó:
reference: là vùng tham chiếu làm cơ sở cho hàm (làm điểm xuất phát) để tạo vùng tham chiếu mới reference phải
chỉ đến một ô hoặc một dãy ô liên tục, nếu không hàm sẽ trả về lỗi #VALUE!
rows: là số dòng bên trên hoặc bên dưới reference, tính từ ô đầu tiên (ô ở góc trên bên trái) của reference Ví dụ
nếu rows là 3, sẽ có 3 dòng trả về và nằm bên dưới reference Khi rows là số dương thì các dòng trả về nằm bên dưới reference, khi rows là số âm thì các dòng trả về nằm bên trên reference
cols: là số cột bên trái hoặc bên phải reference, tính từ ô đầu tiên (ô ở góc trên bên trái) của reference Ví dụ nếu
cols là 4 sẽ có 4 cột trả về và nằm bên phải của reference Khi cols là số dương thì các cột trả về nằm bên phải reference, khi cols là số âm thì các cột trả về nằm bên trái reference
height: là số dòng của vùng tham chiếu cần trả về Height phải là số dương.
width: là số cột của vùng tham chiếu cần trả về Width phải là số dương.
Lưu ý:
Nếu rows và cols làm cho tham chiếu trả về vượt ra ngoài phạm vi của một worksheet, hàm Offset sẽ báo lỗi #REF!
Nếu bỏ qua height và width, thì height và width sẽ có kích thước mặc định là height và width của reference
Offset thật sự không di chuyển bất cứ ô nào, cũng không thay đổi bất kỳ phần chọn nào, nó chỉ trả về tham chiếu mà thôi Chúng ta có thể sử dụng Offset với bất kỳ hàm nào cần đối số là một tham chiếu Ví dụ, công thức
Sum(Offset(C10,1,2,3,1)) sẽ tính tổng các giá trị của một dãy gồm ba dòng, một cột; đây là dãy nằm bên dưới ô C10 một dòng và bên phải ô này hai cột
Các ví dụ
#1
Hãy biết ước mơ!
TranThanhPhong
Trang 5« Ðề Tài Trước | Ðề Tài Kế »
TP
Kỳ 2: Offset và Validation List
Tập tin đính kèm Offset.xls (36.0 KB, 11678 lần tải)
Danh mục bài viết tổng hợp của GPE | Mỗi ngày một "tuyệt chiêu" | Hướng dẫn sử dụng Crystal Ball |
Giáo trình: Excel 2007 | Excel trong kinh tế Phần 1 | Phần 2 | PowerPoint 2010
Linh tinh: SubTotal | Hàm & Công thức mảng | Offset | Excel 97-2003 Options | Các loại tham chiếu | Vẽ biểu đồ | Custom
Format | Khoá & mở khoá tập tin Excel | Định dạng theo điều kiện
Câu đố: 1 | 2 | 3 | 4 | 5
Cảm ơn
Có 122 thành viên cảm ơn TranThanhPhong về bài viết này:
7thing, anchung79, angelofmine, binhan2007, bivily, bogay, byby_2323, camchuongdo, chenwentai, Chu quyen, coffeeicon,
dash177, dinhphuong9327, dohuuthuc, dudieuwa, dungvovan, duongthanhtu89, duyle86, dvu58, eokakoe, excellearner,
fangjing_phi, firstknight, Gbco, gia nguyên, hahonghanh, hai08, HaNoi_MuaLanhGia, heocon405, hetxay, hoabillynguyen,
Hoangiumun, hoangthuymi, Hoàng Dũ, Hoàng Trọng Nghĩa, HuuThanh, huyen_htc, huyhoang1768, kha10607, khoa_pr,
l01012011, lacbuidoi, lanr, lebinh319, lehoaithanh, lehungnp, leonardo208, lethuycaylua, LIENTHUYTHANH, linhngoc, linton,
loan.dkl, lonelyheart1184, lsxinh, mai1tyeu, mailinhphong, mandem, mọt sách ham học, Mr Okebab, mrdam188, MrZy,
muabui88, mymichau, mytho, namcobain, namphuongson, nddong109, ngoctranphuong, nguenphuc, nguyen duc man,
nguyenbaobn88, nguyenhongphong, NguyenHongQuyen, nguyentam2T, nhung2008, ninhhoanghiep, nmhung49, nonzero,
oliverlely, Pakinac, phamduydn, Phanhanhdai, phnam77, phuyen89, pns56, quangtranevn, QuocPhong, SAD LOVE,
saintpiox, soiconkthn, songvui, spttkhai, sumisumo, Tống Văn Đệ, tedaynui, tessuarai, thang_aof_cva, thanhsang5979,
theanhhn79, thongbao, ThuNghi, thuthuy0685, TKT, topgun, tqforever, trande314, trung78952, tuan73, tuyphong1983,
uthoiemve, vanquangdy, vantan920, viendo, Vincentphan, xuan.nguyen82, xuanhien0786, xuannguyen12012, xuan_ha919,
yeuthamhangxom
Chuyển tiếp nhanh đến chuyên mục khác Những bài viết tổng hợp của Giải Pháp Excel Trở Lên Trên
Trang 6Múi giờ GMT +7 Hiện tại là 04:00 PM.
Phát triển bởi vBulletin™ Phiên bản 4.2.0
© Bản quyền và phát hành từ 2000 - 2013, bởi Jelsoft Enterprises Ltd.
Giải Pháp Excel - www.giaiphapexcel.com - info@giaiphapexcel.com
Đề nghị ghi rõ "Nguồn Giải Pháp Excel" khi phát hành lại thông tin từ trang web này.