ý bạn là cột e sẽ tạo ra 1 danh sách trong đó khi cột e chọn 1 mã rồi thì danh sách sẽ không còn mã đó nữaNhư chủ đề đã nêu, mình muốn các anh/chị chỉ cách tạo Validation để có danh sách từ 1 cột khác đồng thời không cho nhập đúp tại cột hiện tại
Xin xem file đính kèm để rõ.
Cảm ơn
E toàn làm cột phụ thôi chứ cũng chưa tìm hiểu cách nào khác, hóng bài của anh để học thêm vậy ạNhư chủ đề đã nêu, mình muốn các anh/chị chỉ cách tạo Validation để có danh sách từ 1 cột khác đồng thời không cho nhập đúp tại cột hiện tại
Xin xem file đính kèm để rõ.
Cảm ơn
Có 2 giải pháp:Như chủ đề đã nêu, mình muốn các anh/chị chỉ cách tạo Validation để có danh sách từ 1 cột khác đồng thời không cho nhập đúp tại cột hiện tại
Xin xem file đính kèm để rõ.
Cảm ơn
=OFFSET(Book!$G$3,,,COUNT(1/(LEN(Book!$G$3:$G$154)>0)))
G3=IFERROR(INDEX($C$3:$C$136,MATCH(0,INDEX(COUNTIF($G$2:G2,$C$3:$C$136)+COUNTIF($E$3:$E$136,$C$3:$C$136),),0)),"")
Híc em vẫn chưa biết cách lấy bỏ trùngCó 2 giải pháp:
1/ Hoặc phải dùng VBA để tạo list và tạo Data validation.
2/ Phải dùng cột phụ, chung hoặc khác sheet. Còn việc tạo mảng trong bộ nhớ để cung cấp cho Data Validation bằng công thức không thực hiện được (chủ đề Mảng ảo có trên diễn đàn: tham khảo link http://www.giaiphapexcel.com/diendan/threads/cách-tạo-list-data-validation-không-qua-trung-gian.120420/page-2#post-753655 ).
Bạn tham khảo file đính kèm dùng công thức cho cột phụ để tạo list biến đổi loại những dữ liệu đã phát sinh bên cột E, gồm:
a/ Tạo 1 "name" Vung:
Mã:=OFFSET(Book!$G$3,,,COUNT(1/(LEN(Book!$G$3:$G$154)>0)))
b/ Tạo list loại trùng:
Mã:G3=IFERROR(INDEX($C$3:$C$136,MATCH(0,INDEX(COUNTIF($G$2:G2,$C$3:$C$136)+COUNTIF($E$3:$E$136,$C$3:$C$136),),0)),"")
c/ Tạo Data Validation E3:E136 lấy list là "=Vung"
Chúc bạn ngày vui
Em tìm hiểu 2 cái COUNTIF() là ra thôi, xử từng thằng rồi cộng nó lại.dùng thêm cột ph
Híc em vẫn chưa biết cách lấy bỏ trùng(



E gà hơn nên chơi hẳn 2 cột phụ cho nó dễ hiểuEm tìm hiểu 2 cái COUNTIF() là ra thôi, xử từng thằng rồi cộng nó lại.
![]()
Một cách học thông minh!E gà hơn nên chơi hẳn 2 cột phụ cho nó dễ hiểu![]()




em không hiểu sao có mấy dòng list mà chạy hơi chậmEm tìm hiểu 2 cái COUNTIF() là ra thôi, xử từng thằng rồi cộng nó lại.
![]()
dùng hàm mảng nên chạy chậm, muốn nhanh thì dùng 2 cột phụ và không dùng hàm mảngem không hiểu sao có mấy dòng list mà chạy hơi chậm
2 cột phụ làm sao bác chỉ em nghiên cứu với &^^dùng hàm mảng nên chạy chậm, muốn nhanh thì dùng 2 cột phụ và không dùng hàm mảng
có thể làm như sau:2 cột phụ làm sao bác chỉ em nghiên cứu với &^^
Từ hồi năm 2007 tôi đã có nghiên cứu vụ này:2 cột phụ làm sao bác chỉ em nghiên cứu với &^^
hi hồi trước em để tâm đến dò tìm lookup nhiều mà vẫn chưa rành, giờ đến cái dò bỏ trùng rồi bữa đọc tách số trong chuỗi đau cả đầuTừ hồi năm 2007 tôi đã có nghiên cứu vụ này:
http://www.giaiphapexcel.com/diendan/threads/valiadation-chống-nhập-trùng.3855/#post-26965
Hồi đó ngu quá nên đã làm đến 2 cột phụ + mấy cái name (tuy nhiên chạy cũng.. ổn)
À ạ! bây giờ mới biết chân tướng người gây sóng gió diễn đàn năm đó chính là thầy.Từ hồi năm 2007 tôi đã có nghiên cứu vụ này:
http://www.giaiphapexcel.com/diendan/threads/valiadation-chống-nhập-trùng.3855/#post-26965
Hồi đó ngu quá nên đã làm đến 2 cột phụ + mấy cái name (tuy nhiên chạy cũng.. ổn)



con người có thăng trầm anh ạ, người còn hứng khởi còn tồn tại mất hứng thì ra đi ^^ em có xem 1 vài bài cũ có nhiều thành viên đã 5 6 năm không còn vào đây nữaÀ ạ! bây giờ mới biết chân tướng người gây sóng gió diễn đàn năm đó chính là thầy.
Trước nay, có xem nhiều bài và rất ngưỡng mộ nickname: anhtuan1066, tự dưng về sau thấy mất tích trên chiến trường GPE... hơi tiếc!
Vui vì việc này đó thầy.
![]()
"Hổ chết để da.." tuy Nickname thì không thấy nhưng vẫn còn lưu những hướng dẫn, chỉ điểm rất khoáng đạt cho anh em vào sau tham khảo. Chính những hướng dẫn tận tình, không tính toán bon chen, không màng danh hảo, nên thật sự làm anh kính nể và ngưỡng mộ, và cũng nhờ đó mà anh học được không những về kỹ năng excel mà còn về cái "đức" để làm một con người toàn vẹn, đẹp chi người có tài mà vô "đức" hả em?con người có thăng trầm anh ạ, người còn hứng khởi còn tồn tại mất hứng thì ra đi ^^ em có xem 1 vài bài cũ có nhiều thành viên đã 5 6 năm không còn vào đây nữa![]()



hi phải đấu tranh phát triển quan trọng là không khoe mẽ thôi"Hổ chết để da.." tuy Nickname thì không thấy nhưng vẫn còn lưu những hướng dẫn, chỉ điểm rất khoáng đạt cho anh em vào sau tham khảo. Chính những hướng dẫn tận tình, không tính toán bon chen, không màng danh hảo, nên thật sự làm anh kính nể và ngưỡng mộ, và cũng nhờ đó mà anh học được không những về kỹ năng excel mà còn về cái "đức" để làm một con người toàn vẹn, đẹp chi người có tài mà vô "đức" hả em?
Cũng may ở trên này, hằng hà sa số những bậc như anh nói, ẩn mình nhưng đầy bản lảnh và nhất là không khoe mẻ.
Em cứ cố gắng, nhớ trên này không có ai đòi hơn nên cũng chẳng có ai thua cả.
![]()
Nếu đã có cột phụ ra số thứ tự rồi thì mình có thể dùng luôn Vlookup hoặc Index thông thường chứ ạ, kiểu Vlookup(row(a1),....) được không anh?có thể làm như sau:
-cột phụ 1: dùng hàm if và countif để lấy các số thứ tự các phiếu chưa sử dụng 5 ở cột E
- cột phụ 2: dùng hàm Small và index, hay offset gì đó để tạo danh sách số phiếu chưa sử dụng,có thể cần thêm bẩy lỗi nếu dùng index
dùng công thức đặt tên vùng dữ liệu cột phụ 2, hoặc dùng công thức trực tiếp trong datavalidation nếu cùng sheet
Mình nghĩ là giúp đỡ nhau cùng phát triển chứhi phải đấu tranh phát triển quan trọng là không khoe mẽ thôi
tính em hơi đa cảm thấy những người quen biết dần dần không còn nữa có tiếc nuối haha
haha e cũng mong thếMình nghĩ là giúp đỡ nhau cùng phát triển chứNhiều người không phải k tham gia diễn đàn nữa đâu b? có thể các anh chị ấy đã có thêm 1 nick mới mà thôi, cứ nghĩ thế đi b ạ
![]()
Chẳng hiểu, lưu lại thành .xlsb xem sao nhé.Gặp phải khi mở file, mình phải sửa sao anh Ba Tê?
View attachment 176578
FIle mới đã xem được,Chẳng hiểu, lưu lại thành .xlsb xem sao nhé.
Nếu lỗi nữa thì "điếc luôn". Máy tôi mở được.



mỗi người có cách làm khác nhau, mình không nghĩ được cách không dùng công thức mảng mà chỉ dùng 1 cột phụNếu đã có cột phụ ra số thứ tự rồi thì mình có thể dùng luôn Vlookup hoặc Index thông thường chứ ạ, kiểu Vlookup(row(a1),....) được không anh?
e hay làm cách kiểu này ạ. mong các anh góp ý thêm ạmỗi người có cách làm khác nhau, mình không nghĩ được cách không dùng công thức mảng mà chỉ dùng 1 cột phụ
do dùng công thức bình thường nên cột phụ số thứ tự sẽ có dòng trống là dòng các phiếu đã sử dụng, cột phụ thứ 2 sẽ tạo danh sách liên tục các phiếu chưa sử dụng , số thứ tự có thể thay bằng hàm row
Có 2 giải pháp:
1/ Hoặc phải dùng VBA để tạo list và tạo Data validation.
2/ Phải dùng cột phụ, chung hoặc khác sheet. Còn việc tạo mảng trong bộ nhớ để cung cấp cho Data Validation bằng công thức không thực hiện được (chủ đề Mảng ảo có trên diễn đàn: tham khảo link http://www.giaiphapexcel.com/diendan/threads/cách-tạo-list-data-validation-không-qua-trung-gian.120420/page-2#post-753655 ).
Bạn tham khảo file đính kèm dùng công thức cho cột phụ để tạo list biến đổi loại những dữ liệu đã phát sinh bên cột E, gồm:
a/ Tạo 1 "name" Vung:
Mã:=OFFSET(Book!$G$3,,,COUNT(1/(LEN(Book!$G$3:$G$154)>0)))
b/ Tạo list loại trùng:
Mã:G3=IFERROR(INDEX($C$3:$C$136,MATCH(0,INDEX(COUNTIF($G$2:G2,$C$3:$C$136)+COUNTIF($E$3:$E$136,$C$3:$C$136),),0)),"")
c/ Tạo Data Validation E3:E136 lấy list là "=Vung"
Chúc bạn ngày vui
1/ Nó khác định dạng khác ra sao?Cảm ơn bạn đã hướng dẫn rất chi tiết.
Dù dùng VBA hay hàm thì mình đều chưa biết cách làm nên được bạn hướng dẫn thật là tốt
Đối với cách dùng Hàm kết hợp với cột phụ như trên quả là mình rất vừa ý. Mình đang xem cách sử dụng hàm của bạn và sẽ hỏi bạn thêm. Tuy nhiên mình thắc mắc đầu tiên là file của bạn dùng dạng .xlsb là như thế nào, nó khác định dạng khác ra sao? và xlsb có cho phép chạy VBA không ?
Cảm ơn bạn lần nữa


Rất vui có bạn tham gia.@quocgiacan có lòng tốt giải thích giúp em 02 công thức anh sử dụng được không ợ? Trình em gà nên mò không ra.
Thank U very much!![]()
Mấy hàm kiểu mảng này em có thể hiểu nhưng bảo e nhớ để áp dụng lần sau là kiểu gì cũng nhầm nên trong nhiều trường hợp em cứ bày thêm cột phụ cho nó xôm, sau này sửa cũng dễ chứ k hiểu về mảng mà làm mảng là mông lung lắm ạ. Anh Minh Khai dễ tính lắm anh ạ, e uống rượu với anh ấy rồiRất vui có bạn tham gia.
Có 1 chút góp ý với bạn:
1/ Bạn nên hỏi ý bạn MinhKhai có vui để bạn hỏi vậy không? vì nếu giải thích có làm loãng thời gian của bạn í không, vì bạn ấy đang hỏi câu thứ hai tại bài #30.
2/ Vì bạn mới vào và hỏi câu đầu tiên, nên không muốn bạn hiểu lầm, nhưng nói nhỏ với bạn: có nhiều anh em trên GPE ngại trả lời khi gặp ai hỏi mà có pha nửa Việt nửa Anh lắm... Nên cố gắng tránh há bạn há!
Tôi sẽ rất vui khi giải thích cho bạn hàm trên nhưng chờ ý kiến của MinhKhai nha!.
Chúc bạn ngày vui.
Thế anh ấy vừa uống "gụ" vừa cười, hay vừa uống vừa "mếu" hở em? Khà khà khà!Mấy hàm kiểu mảng này em có thể hiểu nhưng bảo e nhớ để áp dụng lần sau là kiểu gì cũng nhầm nên trong nhiều trường hợp em cứ bày thêm cột phụ cho nó xôm, sau này sửa cũng dễ chứ k hiểu về mảng mà làm mảng là mông lung lắm ạ. Anh Minh Khai dễ tính lắm anh ạ, e uống rượu với anh ấy rồi)
Chúc anh 1 ngày vui ạ






Thế anh ấy vừa uống "gụ" vừa cười, hay vừa uống vừa "mếu" hở em? Khà khà khà!
May quá, may quá! anh ở xa, và lại không biết uống "gụ" chắc không phải "mếu" trong lần sinh nhật GPE 11 này đâu.
Chúc em gái ngày thiệt vui.
![]()
Thì bởi!uống phải cười chứ anh, mếu sao đc ạ
. chắc còn lâu e mới đc mời anh uống "gụ" a nhỉ
P/s mà anh ấy ít tuổi hơn anh nhiều hì.



Thì bởi!
Biết thân biết phận anh mà, "tchai zà" phải chịu dzậy thôi.
![]()
2 cột phụ có khác nhanh thậtmỗi người có cách làm khác nhau, mình không nghĩ được cách không dùng công thức mảng mà chỉ dùng 1 cột phụ
do dùng công thức bình thường nên cột phụ số thứ tự sẽ có dòng trống là dòng các phiếu đã sử dụng, cột phụ thứ 2 sẽ tạo danh sách liên tục các phiếu chưa sử dụng , số thứ tự có thể thay bằng hàm row
Chào bạn, cảm ơn bạn đã nhắc tới mình. Nhưng mờ...... nói ra ngại quá...Anh Minh Khai dễ tính lắm anh ạ, e uống rượu với anh ấy rồi)
Chúc anh 1 ngày vui ạ
Chào bạn1/ Nó khác định dạng khác ra sao?
Nó làm giảm kích thước đáng kể (giống kiểu nén file lại), nên lúc mở file cũng lẹ làng.
2/ Và xlsb có cho phép chạy VBA không ?
Vẫn chạy tốt bạn ạ!
Chúc bạn ngày vui.
Do công thức của mình là công thức mảng (chứa một lúc nhiều mảng để tính toán), nên nó sẽ làm chậm tốc độ xử lý của máy.Chào bạn
Mình sử dụng hàm của bạn và thấy vấn đề không hề nhỏ là:
1. Vẫn là file mẫu ban đầu (chứa 1 sheet, 1 name và ít dữ liệu) nhưng quét dữ liệu nguồn đến dòng 500 là file chạy chậm
2. Không biết có phải do file chạy chậm (validation chạy chậm, cột phụ xử lý nhanh) mà thay vì chọn từ list, nếu gõ bằng tay thì hộp thoại Stop của Validation nhảy ra.
Bạn có cách fix vấn đề này không ?
Cảm ơn bạn đã trao đổi
e hay làm cách kiểu này ạ. mong các anh góp ý thêm ạ
Do công thức của mình là công thức mảng (chứa một lúc nhiều mảng để tính toán), nên nó sẽ làm chậm tốc độ xử lý của máy.
Chắc giải pháp bằng công thức tối ưu nhất để giải quyết cả 2 câu hỏi của bạn, chính là giải pháp của các bạn: HieuCD, hay lehuong1409
Bạn tham khảo và có thể biến đổi cho phù hợp với thực tế phát sinh dữ liệu của bạn.
Chúc bạn ngày vui.
đây không phải là lỗi excel, mà công cụ sử dụng và thao tác không phù hợp với yêu cầu xử lý có mâu thuẩn ngay từ đầuCảm ơn bạn đã dành thời gian chia sẻ
Ở đây mình cũng muốn được mọi người hướng dẫn đồng thời mọi người cũng có đề tài để tìm hiểu sâu nhằm không "thất nghiệp" như bác @Ba Tê nói.
Chưa nói về dùng VBA như của bác @Ba Tê viết ở #25, còn thì dù dùng 2 cột phụ như file của bạn @HieuCD ở #27 hay @lehuong1409 ở #29 cũng vẫn gặp lỗi không thể gõ từ bàn phím.
Có 1 điều lạ là: Làm không sai cái gì mà vẫn không chạy --> Đây có thể coi là lỗi của Excel ?