binh123456789
Thành viên thường trực




- Tham gia
- 13/5/15
- Bài viết
- 267
- Được thích
- 12
Bạn nên làm kết quả mẫu nhìn chưa hiểu ý bạn muốn thế nàoXin chào các anh chị giúp đở em tạo Data list phụ thuộc hai điều kiện trong file đính kèm
Xem dùm em ở Sheet Chieu và Sang trong file
em can làm để in ra nopof duyệt ạBạn mới đăng bài lúc 7:22 PM mà có vẻ gấp vậy?
Đã hỏi bên đây rồi mà!?Anh xem dùm em Sheet Lop6 ngay tuần 1 khi ở sheet Chieu tại ô F4 chọn lớp 6 và C2 chọn tuần 1
Thì tại ô E4 sẽ có list như
ĐS
ĐS
ĐS
ĐS
HH
lấy từ Sheet lop6 từ B3 đến F3
Dạ bị lỗi ah. Khi em đưa công thức vào thì chạy được. Như khi tắt mở lên thì ko dùng được nữaĐã hỏi bên đây rồi mà!?
![]()
Data List theo hai điều kiện
Xin chào các anh chị trong diễn đàn, em xin được hỗ trợ về Data List theo hai điều kiện trong file đính kèm sauwww.giaiphapexcel.com
Thân
Phần in đậm chắc là không đúng.Dạ bị lỗi ah. Khi em đưa công thức vào thì chạy được. Như khi tắt mở lên thì ko dùng được nữa
Hy vọng đúng ý bạn.em gui file. nho anh chj giup do
Bài đã được tự động gộp:
em gui file. nho anh chj giup do
Có lẽ hàm LEFT() trong validation thiếu tham số. Bạn thử sửa LEFT(F4) thành LEFT(F4,1) xem saoem gui file. nho anh chj giup do
Bài đã được tự động gộp:
em gui file. nho anh chj giup do
Nhận xét file của bạn:Dạ bị lỗi ah. Khi em đưa công thức vào thì chạy được. Như khi tắt mở lên thì ko dùng được nữa
=OFFSET(INDIRECT("'PPCT "&LEFT(F4)&"'!D17"),MATCH($C$2,INDEX(INDIRECT("'PPCT "&LEFT(F4)&"'!A18:A200"),),),,5)
Về công thức left(f4) và left(f4,1) trong công thức của validationNhận xét file của bạn:
1/ Do các sheet "Lop xx" bạn tạo ra nhằm lấy thông tin từ các sheet "PPCT xx", nên chỉ cần tạo trong Data Validation dựa trên "PPCT xx" là được rồi, không cần các sheet "Lop xx" nữa, như vậy file sẽ gọn gàng hơn. Tuy nhiên, bạn phải đồng nhất "form" của các sheet "PPCT xx", tức thông tin cần lấy phải giống nhau: bắt đầu từ dòng 18 trở xuống. Cái nữa, khi tạo tên sheet tránh có ký tự rỗng phía sau, Vd: không nên tạo "PPCT 9__" 2 khoảng trắng phía sau số 9.
2/ Các cột L,P,Q trong sheet "Chieu" cũng có thể lược bớt.Mã:=OFFSET(INDIRECT("'PPCT "&LEFT(F4)&"'!D17"),MATCH($C$2,INDEX(INDIRECT("'PPCT "&LEFT(F4)&"'!A18:A200"),),),,5)
3/ Cùng giản lược các công thức các cột D,G,H cho bạn.
4/ Cuối cùng: công thức LEFT(F4) hay LEFT(F4,1) đều ra kết quả như nhau, chớ nhầm.
Tôi có thêm vào 1 số mã tầm bậy "AS,pm,PK,LM"chỉ dành kiểm tra, bạn chịu khó sửa lại cho đúng.
Xem file kèm.
Thân
Câu hỏi rất hay!Về công thức left(f4) và left(f4,1) trong công thức của validation
Nếu để left(f4) thì validation không hoạt động, sửa thành left(f4,1) thì lại có. Nhờ bác giải thích giúp
( Lấy theo file của bài 12 )
Với file theo đường dẫn đính kèm của bác:Câu hỏi rất hay!
Bạn có thể download tại link này:
Đây là bài tôi giải trước đây với câu lệnh trong Data Validation như sau:![]()
Data List theo hai điều kiện
Xin chào các anh chị trong diễn đàn, em xin được hỗ trợ về Data List theo hai điều kiện trong file đính kèm sauwww.giaiphapexcel.com
=INDEX(INDIRECT("'Lớp "&LEFT(E5)&"'!B3:F500"),MATCH($C$2,ROW($1:$37),),)
Khi download file theo link trên về, bạn đứng tại D5, nhấn vào droplist, nó không hoạt động phải không!?
Bây giờ bạn đứng đó và vào Data Validation, đưa trỏ vào câu lệnh, rồi không cần sửa gì hết (tức giữ nguyên Left(E5)), nhấn OK, sau đó vào lại Droplist thì được!? Lạ không!?
Hoặc, sau khi bạn thêm vào LEFT(E5,1), thì droplist hoạt động, nhưng đóng file lại, rồi bạn mở lại lần nữa thì droplist lại không hoạt động!?
Nguyên do, không phải là lệnh LEFT(E5) có 1 hay không, mà do lệnh MATCH($C$2,ROW($1:$37),), chỉ cần thêm INDEX(...,) vào là nó sẽ hoạt động tốt, tức: MATCH($C$2,INDEX(ROW($1:$37),),).
Từ điều này, tôi thấy khi dùng mảng trong Data Validation phải khai báo cho nó bằng INDEX(...,) thêm.
Chúc bạn ngày vui
Thân
![]()
Bạn thử xem file kèm dưới đây, mà tôi đã chỉnh LEFT(E5,1), chọn Apply rồi đó, xem thử và kiểm tra giúp tôi Droplist có hoạt động không!Với file theo đường dẫn đính kèm của bác:
Phần bôi màu xanh : Sửa LEFT(F5) thành LEFT(F5,1), nhấn Apply..., nhấn ok. Lúc này validation có hoạt động & lưu file, đóng lại rồi mở lần nữa thì validation vẫn hoạt động. Có lẽ là do đã tích vào Apply... nên validation mới chấp nhận lưu lại công thức đã sửa khi lưu file.
Lựa chọn Apply chỉ có giá trị lưu lại công thức thay đổi khi lưu file, cái này không quan trọng lắm.
Vậy vấn đề giờ vẫn là hàm LEFT() trước và sau khi thêm tham số thứ 2. cái này vẫn chưa rõ ràng vì vẫn công thức cũ, thêm tham số thứ 2 thì lại chạy. ( Tất nhiên là phải cập nhật công thức mới trước khi lưu file nếu muốn dùng lần sau )
Phần bôi màu đỏ : khi nhấn shift+F3... sau đó chọn hàm MATCH() thì thấy hàm vẫn trả kết quả bác ạ, có lẽ hàm MATCH() vẫn hoạt động.
Cụ thể : Tại D5, nhấn shift+F3..., chọn hàm MATCH(), kết quả nhìn thấy là =1.
Cảm giác của tôi hình như là khi hàm LEFT() sử dụng chung cùng một vài hàm khác thì cần khai báo tường minh thì phải. Cái này chưa test
Phần bôi đậm, công thức vẫn để LEFT(F5,1), khi nhấn apply một lần thì vẫn hoạt động bác ạBạn thử xem file kèm dưới đây, mà tôi đã chỉnh LEFT(E5,1), chọn Apply rồi đó, xem thử và kiểm tra giúp tôi Droplist có hoạt động không!
Nếu đúng nó không hoạt động, bạn vào lại Data Validation, chọn D5: D37, sửa thành LEFT(E5) nhấn Apply rồi OK, sẽ thấy nó hoạt động tốt.
Thân.