phamduydn
Thành viên hoạt động



- Tham gia
- 27/6/08
- Bài viết
- 155
- Được thích
- 259
- Nghề nghiệp
- Engineering
Ôi! Cái này chỉ là lọc bình thường khi đã có tên trước! Tôi nghĩ tác giã của cần tự động luôn việc lọc tên ấy chứ1. Bạn nhấn F2
2. Bạn xem file nhé
Giúp mình cách lấy dữ liệu từ 1 sheet khác và sắp xếp chúng theo trật tự cho sẵn.
Xin xem file đính kèm
Ôi! Cái này chỉ là lọc bình thường khi đã có tên trước! Tôi nghĩ tác giã của cần tự động luôn việc lọc tên ấy chứ
Chưa chắc đâu!Nhưng cái câu trật tự cho sẵn có phải là danh sách cho trước và chỉ việc cho số liệu vào thôi.
Việc trích lọc dử liệu không có vấn đề gì, nhưng theo kết quả bạn cho trước trong file thì tôi đoán bạn đang muốn sắp tên theo thứ tự A, B, C
Điều này đâu có dể: Công thức thì cực kỳ rắc rối. Muốn đơn giãn hơn thì chỉ có nước VBA (nhưng sẽ là có nếu bạn không hiểu gì về VBA)
Có 1 cách làm bằng tay tương đối đơn giản: Bạn dùng công cụ Text to Columns để tách tên ra riêng, sau đó sort lại theo A, B, C. Cuối cùng dùng các hàm dò tìm để lấy dử liệu theo các tên này
Đầu tiên bạn phải xác định dùm 1 chuyện: Tên ở sheet 2 là bạn có sẳn trước hay phải dùng công thức để lấy ra?Thanks bạn, mình muốn sắp xếp lại theo đúng trật tự danh sách của bên Nhân sự, chứ chưa hẳn là là theo thứ tự A, B, C. Đây là 1 bài toán nhỏ mình tách riêng ra bên chủ đề http://www.giaiphapexcel.com/forum/showthread.php?t=11505 để hỏi từng bước cho dễ dàng người đọc.
Mình thử 1 cách, là chèn thêm 1 cột, đánh số thứ tự trước mỗi hàng theo đúng trật tự cần sắp xếp, rồi sort hàng lại. Nhìn cũng OK nhưng có vẻ sao sao ấy, chẳng tí pro gì cả, không loại bỏ hết đc các hàng không cần thiết như tên nhóm A, B... Nhưng cũng là 1 cách.
Mình hiểu ý bạn, nhưng cách dùng công cụ Text to Columns và dùng hàm dò tìm để lấy dữ liệu mình ko hiểu rõ lắm. Bạn ví dụ 1 file cho mình được không ah.
Đầu tiên bạn phải xác định dùm 1 chuyện: Tên ở sheet 2 là bạn có sẳn trước hay phải dùng công thức để lấy ra?
Oh.. hô... thế thì quá dể, dùng cách mà Salam đã làm hoặc chế biến thêm gì đó!Danh sách tên ở sheet 2 là có sẵn trước bạn àh.
Oh.. hô... thế thì quá dể, dùng cách mà Salam đã làm hoặc chế biến thêm gì đó!
Tưởng danh sách ấy chưa có, mình phải tự trích ra thì mệt dài dài
Dùng 1 công thức duy nhất đây:Đúng vậy, cách Salem đã dùng rất hay cho đến lúc này. Nhưng trong 1 tên, thì lại có 2 công thức khác nhau cho 2 hàng kế tiếp. Như vậy nếu cty mình có 200 nhân viên thì phải chọn để copy công thức đến 400 lần cho 400 hàng xen kẽ nhau. Mình không biết có thể biến thể thêm cái gì để có thể dùng chung được 1 công thức không?
D8 =INDEX('Sheet du lieu'!$C$1:$H$31,MATCH(IF($C8="",$C7,$C8),'Sheet du lieu'!$C$1:$C$31,0)+($C8=""),COLUMNS($A:B))
D8 =INDEX(DS,MATCH(IF($C8="",$C7,$C8),Ten,0)+($C8=""),COLUMNS($A:B))
Sao lại 400 lần lận. Bạn chỉ việc copy 2 dòng đầu rồi dán 1 nhát xuống hết thôi. Hai dòng chỉ hơn một dòng có một phím mũi tên xuống khi chọn vùng copy hà.Đúng vậy, cách Salem đã dùng rất hay cho đến lúc này. Nhưng trong 1 tên, thì lại có 2 công thức khác nhau cho 2 hàng kế tiếp. Như vậy nếu cty mình có 200 nhân viên thì phải chọn để copy công thức đến 400 lần cho 400 hàng xen kẽ nhau. Mình không biết có thể biến thể thêm cái gì để có thể dùng chung được 1 công thức không?
Dùng 1 công thức duy nhất đây:
Nếu đặt name cho vùng dử liệu là:Mã:D8 =INDEX('Sheet du lieu'!$C$1:$H$31,MATCH(IF($C8="",$C7,$C8),'Sheet du lieu'!$C$1:$C$31,0)+($C8=""),COLUMNS($A:B))
DS = 'Sheet du lieu'!$C$1:$H$31
Ten ='Sheet du lieu'!$C$1:$C$31
thì càng gọn hơn:
Xem file đính kèmMã:D8 =INDEX(DS,MATCH(IF($C8="",$C7,$C8),Ten,0)+($C8=""),COLUMNS($A:B))
Sao lại 400 lần lận. Bạn chỉ việc copy 2 dòng đầu rồi dán 1 nhát xuống hết thôi. Hai dòng chỉ hơn một dòng có một phím mũi tên xuống khi chọn vùng copy hà.