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




- Tham gia
- 11/10/06
- Bài viết
- 378
- Được thích
- 107
- Giới tính
- Nam
- Nghề nghiệp
- Pharmacist




Mình có vấn đề tính số ngày điều trị của bệnh nhân dựa vào ngày vào viện và ngày ra viện, cách tính mình đã gửi theo file đính kèm. Nhờ các bạn, anh chị viết dùm công thức để ra được kết quả như trong cột kết quả em ghi nha.
Cảm ơn rất nhiều!




Sự cố nhầm lẫn mà, ngày ra 13/3/2008.bệnh nhân số 6 mang mã 2456 ở khoa nội:
ngày vào 3/12/2008; ngày ra 1/13/1900 thì tính kiểu gì để có số ngày điều trị là 2 ngày?
Bạn thử với công thức này nhéSự cố nhầm lẫn mà, ngày ra 13/3/2008.
To Cao manh son: công thức của bạn không tính được trường hợp 1 bệnh nhân nằm ở 2 khoa, 1bệnh nhân nằm ở 2 khoa thì được + thêm 1 ngày vào 1 trong 2 khoa.
G3 =IF(COUNTIF(B$3:B3,B3)=1,F3-E3+1,F3-E3)




Ngày vào và ngày ra có rồi mà thêm làm chi nữa?Bạn thêm cột ngày vào viện nữa thì giải quyết đơn giản hơn nhiều.
Ngày vào và ngày ra có rồi mà thêm làm chi nữa?
To boyxin: dữ liệu khoảng 5000 dòng, mình chỉ lấy 1 ít ra để cho nhẹ file thôi. Công thức của bạn vẫn chưa đúng được. Mình cần 1 công thức đúng cho mọi trường hợp.
G3 =IF(COUNTIF(B$3:B3,B3)=1,F3-E3+1,IF(F3=E3,1,F3-E3))




Bạn thêm vào thì đúng rồi nhưng vẫn sai với trường hợp cả ngày vào, ngày ra đều rỗng nó trả về 1 và trường hợp khi kéo công thức xuống vùng chưa nhập dữ liệu thì điều kiện countif sẽ sai và trả về 1.
IF(OR(E3="",F3="",F3<E3),"",
Bạn sửa lại công thức như sau nhéTo Cao manh son: công thức của bạn không tính được trường hợp 1 bệnh nhân nằm ở 2 khoa, 1bệnh nhân nằm ở 2 khoa thì được + thêm 1 ngày vào 1 trong 2 khoa.
Có 1 bệnh nhân: 1-8-08 nhập viện vào khoa1, sáng 2-8-08 chuyển sang khoa2 và chiều 2-8-08 được chuyển đến khoa3, ở khoa3 đến tối 2-8-08 thì được xuất việnVẫn sai trong trường hợp 1 bệnh nhân nằm ở 2 khoa và có ngày vào, ngày ra bằng nhau. Ngày điều trị không thể là 0 ngày được, tính thế này nghèo mất.




Một bệnh nhân còn nằm trong bệnh viện thì có 1 mã, chuyển khoa cũng không làm trhay đổi mã đó. Nếu đã xuất viện rồi vào lại thì giống như 1 bệnh nhân mới thôi. Công thức của bạn vẫn không tính được ngày vào viện với ngày ra viện trùng 1 ngày. Ngày điều trị nếu vào ra cùng ngày thì được tính là 1 bạn à.Bạn sửa lại công thức như sau nhé
G3=IF(AND(E3="",F3=""),"",IF(COUNTIF($B$3:$B3,B3 )=1,F3-E3+1,F3-E3))
Mình hỏi thêm nếu trong tháng bện nhân nhập viện 2 lần trở lên thì mã giống nhau hay khác nhau,nếu khác nhau thì công thức trên không có vấn đề
Một bệnh nhân còn nằm trong bệnh viện thì có 1 mã, chuyển khoa cũng không làm trhay đổi mã đó. Nếu đã xuất viện rồi vào lại thì giống như 1 bệnh nhân mới thôi. Công thức của bạn vẫn không tính được ngày vào viện với ngày ra viện trùng 1 ngày. Ngày điều trị nếu vào ra cùng ngày thì được tính là 1 bạn à.
To boyxin: Bệnh nhân chuyển qua 2 khoa hoặc 3 khoa không quan trọng, nếu bệnh nhân nằm trên 1 khoa thì 1 trong 2 khoa or 3 khoa chỉ được cộng thêm 1 ngày điều trị, đã cộng khoa này thì khoa khác không được cộng. Nếu ngày vào = ngày ra thì được tính là 1. Ở đây ko có 0 ngày điều trị bạn à.




Theo như bài #14 thì khoa 1 được tính 2 ngày, 2 khoa sau mỗi khoa 1 ngày vì ngày vào bằng ngày ra. Bệnh nhân nằm ở khoa 1, khoa 2, khoa 3 trên thực tế chỉ là 1 bệnh nhân nên khoa đầu tiên được cộng 1 ngày thì 2 khoa sau chỉ lấy ngày vào - ngày ra. Nếu ngày vào bằng ngày ra thì được tính là 1 ngày. Theo công thức như sau thì được.
G3=IF(OR(E3="",F3=""),"",IF(or(E3=B3,COUNTIF($B$3:$B3,B3 )=1),F3-E3+1,F3-E3))
Ngoài sử dụng countif ra bạn có cách dùng công thức nào khác không?
Cái này thì mình không thể nào nghĩ ra được cho nên kết quả chỉ vậy thôi,đi viện mà thanh toán viện phí thế này có lẽ khỏi bệnh rồi nhưng lại ốm thêm mấtOh vậy là
Có 1 bệnh nhân: 1-8-08 nhập viện vào khoa1, sáng 2-8-08 chuyển sang khoa2 và chiều 2-8-08 được chuyển đến khoa3, ở khoa3 đến tối 2-8-08 thì được xuất việnKHOA ---- NGÀY VÀO ---- NGÀY RA ---- NGÀY ĐIỀU TRỊKhoa 1 --- 1-8-08 ------- 2-8-08 -----------2 -------------Ngày vào viện: 1-8-08
Khoa 2 --- 2-8-08 ------- 2-8-08 ---------- 1 ----------
Khoa 3 --- 2-8-08 ------- 2-8-08 ---------- 1 -------------
Ngày ra viện: 2-8-08
Phải thanh toán 4 ngày nằm viện. Thảo nào ...

Cái này thì mình không thể nào nghĩ ra được cho nên kết quả chỉ vậy thôi,đi viện mà thanh toán viện phí thế này có lẽ khỏi bệnh rồi nhưng lại ốm thêm mất

Có bạn nào còn quan tâm tới chủ đề này không nhỉ. Xin cho hỏi chủ tocpic đã gq dc chưaThì bạn thêm đoạn này vào trước công thức, ngay sau dấu " = "PHP:IF(OR(E3="",F3="",F3<E3),"",
Nhưng như vậy trong thực tế vẫn còn có thể xảy ra trường hợp chưa đúng
Theo mình phải tính như trong file đính kèm
hãy bổ xung trường hợp thực tế có thể xảy ra mà file đính kèm tính chưa đúng để mình xử lý tiếp
