Code CHỈ tìm/copy tất cả các dòng cùng: 1 mã bệnh nhân có nhiều giá trị tuổi khác nhau

Liên hệ QC

anh1234

Thành viên mới
Tham gia
9/9/08
Bài viết
22
Được thích
0
Kính gửi các Anh/chị Forum.

Em đang lập 1 file báo cáo, muốn chuyển lấy các dữ liệu trong sheet "DATA1" và "DATA2" sang sheet "KETQUA"
Với điều kiện điều kiện: Copy tất cả các dòng thỏa mãn: 01 Mã bệnh nhân có nhiều giá trị tuổi khác nhau sang sheet "KETQUA" hoặc sang file mới như file đính kèm ạ.
Chỉ copy các dòng có mã 1 mã bệnh nhận có 2 giá trị tuổi trở lên ạ.
Yêu cầu: 1 sheet DATA của em từ 50.000 đến 300.000 dòng và có thể thêm sheet "DATA3", "DATA4".
Mong được các PRO chỉ giúp.
 

File đính kèm

  • Data.xlsx
    9.6 KB · Đọc: 14
Lần chỉnh sửa cuối:
Kính gửi các Anh/chị Forum.

Em đang lập 1 file báo cáo, muốn chuyển lấy các dữ liệu trong sheet "DATA1" và "DATA2" sang sheet "KETQUA"
Với điều kiện điều kiện: Copy tất cả các dòng thỏa mãn: 01 Mã bệnh nhân có nhiều giá trị tuổi khác nhau sang sheet "KETQUA" hoặc sang file mới như file đính kèm ạ.
Yêu cầu: 1 sheet DATA của em từ 50.000 đến 300.000 dòng và có thể thêm sheet "DATA3", "DATA4".
Mong được các PRO chỉ giúp.
 

File đính kèm

  • Data.xlsm
    22.7 KB · Đọc: 16
Upvote 0
Em cám ơn Bác.
Nhưng ý em là tìm, và chỉ copy dòng mà 1 mã bệnh nhân có nhiều giá trị tuổi khác nhau. ( VD: copu Mã 01234 có tuổi 23,32,54 ở cả 2 sheet). Một mã bệnh nhân tồn tại ở nhiều dòng, sinh ở nhiều nơi, nhưng tuổi = nhau thì ko copy ạ.;
Ví dụ: Em muốn chỉ copy các mã này sang sheet mới
Nơi Sinh Mã Bệnh nhân Tên Bệnh nhân Tuổi
Hà Nội 01234 Nguyễn Văn A 23
Hòa Bình 01234 Nguyễn Văn A 32
HCM 01234 Nguyễn Văn A 54
Lạng Sơn 01242 Thế D 23
Hà Nội 01242 Thế D 87
 
Lần chỉnh sửa cuối:
Upvote 0
Em cám ơn Bác.
Nhưng ý em là tìm, và chỉ copy dòng mà 1 mã bệnh nhân có nhiều giá trị tuổi khác nhau. ( VD: copu Mã 01234 có tuổi 23,32,54 ở cả 2 sheet). Một mã bệnh nhân tồn tại ở nhiều dòng, sinh ở nhiều nơi, nhưng tuổi = nhau thì ko copy ạ.;
Ví dụ: Em muốn chỉ copy các mã này sang sheet mới
Nơi Sinh Mã Bệnh nhân Tên Bệnh nhân Tuổi
Hà Nội 01234 Nguyễn Văn A 23
Hòa Bình 01234 Nguyễn Văn A 32
HCM 01234 Nguyễn Văn A 54
Lạng Sơn 01242 Thế D 23
Hà Nội 01242 Thế D 87
Tạm thời mới nghĩ được như vầy. Bạn xem thử
 

File đính kèm

  • Data (1).xlsm
    24.4 KB · Đọc: 19
Upvote 0
Tạm thời mới nghĩ được như vầy. Bạn xem thử
Bác ơi, bác giúp em lần cuối
Em chỉ muốn copy trường hợp 1 mã bênh nhân có nhiều tuổi khác nhau. Ví dụ: mã 01234, 01242 là đúng rồi ạ. Nếu mã 01234 có 1 dòng 23t, 2 dòng 32 tuoi, 1 dòng 54 tuổi, thì mình sẽ copy cả 4 dòng mã 01234( copy toàn bộ dòng có mã đó)
Nhưng tất cả các dòng mã 01248 chỉ có 1 giá trị tuổi là 34 lên ko thuộc điều kiện, không copy ạ. Mã 01248 là không đúng theo mục đích của em ạ.
Bác sửa lại giúp em đoạn code nhé, Gần chuẩn cơm mẹ nấu rồi ạ
Em cám ơn Bác
 
Upvote 0
Bác ơi, bác giúp em lần cuối
Em chỉ muốn copy trường hợp 1 mã bênh nhân có nhiều tuổi khác nhau. Ví dụ: mã 01234, 01242 là đúng rồi ạ. Nếu mã 01234 có 1 dòng 23t, 2 dòng 32 tuoi, 1 dòng 54 tuổi, thì mình sẽ copy cả 4 dòng mã 01234( copy toàn bộ dòng có mã đó)
Nhưng tất cả các dòng mã 01248 chỉ có 1 giá trị tuổi là 34 lên ko thuộc điều kiện, không copy ạ. Mã 01248 là không đúng theo mục đích của em ạ.
Bác sửa lại giúp em đoạn code nhé, Gần chuẩn cơm mẹ nấu rồi ạ
Em cám ơn Bác
Đang ở đây đã thấy nhảy sang bên kia rồi:
Em muốn copy có điều kiện từ sheet "Data1","data2" sáng sheet "kết quả".
Nếu 1 mã bệnh nhân số tuổi: tồn tại nhiều giá trị tuổi khác nhau, copy toàn bộ các dòng của mã bênh nhân đó. ( dòng trùng mã bênh nhân, số tuổi khác nhau, copy toàn bộ các dòng chứa mã bệnh nhân đó)
Nếu 1 mã bênh nhậnsố tuôi không thay đổi, ở nhiều địa phương hay lặp lại nhiều dòng tại cùng 1 địa phương: Không copy
Sau đó: Xếp thứ tự theo mã bệnh nhân
Đoạn mã trên em nhờ 1 pro trên diễn đàn giúp đỡ: Nhưng code copy cả những trường hợp trùng mã bệnh nhân, trùng số tuổi
Trong vidu file đính kèm: sheet "kết quả"
em muốn copy tất cả các dòng của mã 01234, 01242 do tồn tại nhiều tuổi khác nhau
Mã 01248 là mã ko đúng điều kiện: Trùng mã, trùng số tuổi.>> cần loại bỏ
 

File đính kèm

  • Data18122017.xlsm
    25.7 KB · Đọc: 14
Upvote 0
Nó chỉ đúng với dữ liệu mẫu thôi nha. Bạn nhân bản 2 Sheet Data1 và Data2 thì trật lất ... :oops:
Dạ, em sửa lại bài toán 1 mã bệnh nhân có nhiều loại bệnh khác nhau cho nó logic
Em thấy có vấn đề:
1. Mã 01242 - Thế D - 2 và Mã 01234 -Nguyễn Văn A -1 vẫn chưa sang bảng kết quả.
2. Tổng các dòng có 3 mã 01234,01242, 01246 thỏa mãn điều kiện phải là:26 dòng, nhưng kết quả chỉ có 18 dòng.
Ở đây các mã 01246 - Bùi Như Lạc ( 9 dòng), 01242 - Thế D ( 10 dòng), 01234 -Nguyễn Văn A (7 dòng)sang: Thỏa mãn điều kiện 1 bênh nhân tồn tại nhiều loại bệnh.
 

File đính kèm

  • Data18122017 SUA.xlsm
    26.6 KB · Đọc: 10
Lần chỉnh sửa cuối:
Upvote 0
Nếu mã 01234 có 1 dòng 23t, 2 dòng 32 tuoi, 1 dòng 54 tuổi, thì mình sẽ copy cả 4 dòng mã 01234( copy toàn bộ dòng có mã đó)
Chốt lại là cứ một mã bệnh nhân xuất hiện hơn 1 lần thì copy tất cả các dòng liên quan tới bệnh nhận đó?
 
Upvote 0
Sao bẩu không được trùng tuổi nừa mà
Có hiện tượng là một mã bệnh nhân xuất hiện 2 lần, nhưng là cùng một bệnh không anh?

Nếu 1 mã bênh nhân xuất hiện 2 lần trở lên nhưng chỉ cùng bị 1 loại bệnh, không copy các bênh nhân này.
Nếu mã bênh nhân có xuất hiện từ 2 loại bênh trở lên, thì copy tất cả các dòng liên quan đến bệnh nhân đó.
Ví dụ: Tất cả có 10 dòng trong đó:
Có 5 dòng bệnh nhân A: 2 dòng bệnh loại 1,2 dòng bệnh loại 2, 1 dòng bệnh loại 4:
Có 2 dòng bênh nhân B: 2 dòng bệnh loại 5
Có 3 dòng bênh nhân C: 3 dòng bệnh loại 3
Kết quả đúng theo yêu cầu:
Mã Bệnh nhân A thỏa mãn: tồn tại nhiều hơn 1 loại bệnh (có lớn hơn 2 hoặc có 2 loại bênh). Copy tất cả dòng của mã bênh nhân A, ở đây là 5 dòng sang sheet kết quả.
Mã Bệnh nhân B và C chỉ tồn tại 1 loại bệnh, không thuộc đối tượng yêu cầu. Lên ko copy.


Nếu làm thủ công bình thường em sẽ làm như sau:
Copy tất cả các sheet về cùng 1 sheet được DS dữ liệu. Pivottable, đếm số loại bênh xuất hiện đối với từng mã bệnh nhân. Đánh dấu các mã bệnh nhân có nhiều loại bệnh>> được danh sách A: mã bênh nhận có nhiều loại bệnh. Vlookup theo mã bệnh nhân từ DS dữ liệu với danh sách A được DS mã yêu cầu như file đính kèm.
 

File đính kèm

  • Data18122017 CHINH SUA.xlsm
    28.7 KB · Đọc: 11
Lần chỉnh sửa cuối:
Upvote 0
Nếu 1 mã bênh nhân xuất hiện 2 lần trở lên nhưng chỉ cùng bị 1 loại bệnh, không copy các bênh nhân này.
Nếu mã bênh nhân có xuất hiện từ 2 loại bênh trở lên, thì copy tất cả các dòng liên quan đến bệnh nhân đó.
Ví dụ: Tất cả có 10 dòng trong đó:
Có 5 dòng bệnh nhân A: 2 dòng bệnh loại 1,2 dòng bệnh loại 2, 1 dòng bệnh loại 4:
Có 2 dòng bênh nhân B: 2 dòng bệnh loại 5
Có 3 dòng bênh nhân C: 3 dòng bệnh loại 3
Kết quả đúng theo yêu cầu:
Mã Bệnh nhân A thỏa mãn: tồn tại nhiều hơn 1 loại bệnh (có lớn hơn 2 hoặc có 2 loại bênh). Copy tất cả dòng của mã bênh nhân A, ở đây là 5 dòng sang sheet kết quả.
Mã Bệnh nhân B và C chỉ tồn tại 1 loại bệnh, không thuộc đối tượng yêu cầu. Lên ko copy.


Nếu làm thủ công bình thường em sẽ làm như sau:
Copy tất cả các sheet về cùng 1 sheet được DS dữ liệu. Pivottable, đếm số loại bênh xuất hiện đối với từng mã bệnh nhân. Đánh dấu các mã bệnh nhân có nhiều loại bệnh>> được danh sách A: mã bênh nhận có nhiều loại bệnh. Vlookup theo mã bệnh nhân từ DS dữ liệu với danh sách A được DS mã yêu cầu như file đính kèm.
Nếu làm thủ công thì bạn chỉ cần dùng 1 cột phụ với công thức mảng này
Mã:
=AVEDEV(IF($C$2:$C$39=C2,$D$2:$D$39))
Sau đó lọc những dòng có giá trị khác 0.
 
Upvote 0
Ví dụ: Tất cả có 10 dòng trong đó:
Có 5 dòng bệnh nhân A: 2 dòng bệnh loại 1,2 dòng bệnh loại 2, 1 dòng bệnh loại 4:
Có 2 dòng bênh nhân B: 2 dòng bệnh loại 5
Có 3 dòng bênh nhân C: 3 dòng bệnh loại 3
Kết quả đúng theo yêu cầu:
Mã Bệnh nhân A thỏa mãn: tồn tại nhiều hơn 1 loại bệnh (có lớn hơn 2 hoặc có 2 loại bênh). Copy tất cả dòng của mã bênh nhân A, ở đây là 5 dòng sang sheet kết quả.
Mã Bệnh nhân B và C chỉ tồn tại 1 loại bệnh, không thuộc đối tượng yêu cầu. Lên ko copy.
 

File đính kèm

  • File #9.xlsb
    18.5 KB · Đọc: 14
Upvote 0
Bác ơi
Nếu dữ liệu của mình lấy từ nhiều sheet 2,sheet 3,sheet 4... thì code như thế nào ạ
File của bác đúng như yêu cầu của em rồi ạ, nhưng dữ liệu theo code của Bác chỉ lấy từ sheet thứ 2, kết quả vào sheet 1
Em cám ơn bác
 
Upvote 0
Xin lỗi chút, hôm qua code không test kỹ phần sort nên chưa chuẩn.
 

File đính kèm

  • ChinhSua.xlsm
    23.9 KB · Đọc: 16
Upvote 0
Web KT
Back
Top Bottom