Một bài toán trong lĩnh vực Y tế

Liên hệ QC
Trong file mình gởi đã làm được phần xuất, nhập và tồn nhưng mình thấy sao sao á. Các bạn có thể xem và góp ý sửa lại sao cho chuyên nghiệp hơn xíu không?
Phần nhập và xuất: mỗi phiếu nhập và xuất có thể lên đến 100 loại thuốc nếu mà làm thế này thì chết mình mất, 100 loại thuốc thì kèm với 100 cột số lượng >> 200 cột dài lê thê luôn, các bạn có thể bày cho mình cách làm khác mà kết quả thu được cũng như file mình gởi được không?
Trong phần phiếu nhập và phiếu xuất khi nhập và xuất xong thì mình sang sheet inphieunhap và inphieuxuat dựa vào mã nhập và xuất để xem.
Ví dụ trong sheet inphieunhap: nếu là 100 loại thuốc thì tương ứng với 100 row hiện ra nhưng klhổ ở chổ nếu phiếu nhập có 20 loại thuốc thì không lẽ để 80 row trống à? có cách nào loại những row trống không?
Mong các bạn xem giúp nha, mình diễn đạt chắc ko được tốt có gì bỏ qua dùm nha.
Thanks all!
 
Lần chỉnh sửa cuối:
2 Ngày rồi mà không có 1 ai download về xem dùm hic hic??
 
Để tôi vận dụng những gì tôi học trên GPE viết cho bạn một sub từ phieunhap sang inphieunhap, vấn đề bạn cũng nên nghiên cứu để vận dụng (sợ sai mà)
 
Trong file mình gởi đã làm được phần xuất, nhập và tồn nhưng mình thấy sao sao á. Ví dụ trong sheet InNhap: nếu là 100 loại thuốc thì tương ứng với 100 row hiện ra nhưng klhổ ở chổ nếu phiếu nhập có 20 loại thuốc thì không lẽ để 80 row trống à? có cách nào loại những row trống không?
Mong các bạn xem giúp nha, mình diễn đạt chắc ko được tốt có gì bỏ qua dùm nha.
Mình thấy bạn chỉ quản lý tồn kho trong cả năn(?) Vậy lỡ có chuyện zì, cần kiểm kê đột xuất là bạn trở thành nạn nhân của CSDL không phù hợp!
Theo mình bạn nên tham khảo quản lý dữ liệu xuất nhập tồn của vật tư - kế toán ý; Mình cũng không rõ nhiều đâu, so với các cao thủ ngành Kinh tài trên GE này; nhưng cũng mạnh dạn phát thảo cho bạn ~ sheets CSDL như sau:
TongHop: [MaKh] , [Ngay], [NhapXuat], [DViNhapXuat], [LiDo], [DienGiai]. . .
ChiTiet: [MaLH], [MaThuoc], [DVTinh], [SLuong], [DonGia], [TTien]
Thuoc: [STT], [MaTh], [TenThuoc], [NSX], [MinTonKho], [ThoiHanSD], [TonK1], [TonK2], [TonK3]. . . .
 
Lần chỉnh sửa cuối:
ThuNghi đã viết:
Để tôi vận dụng những gì tôi học trên GPE viết cho bạn một sub từ phieunhap sang inphieunhap, vấn đề bạn cũng nên nghiên cứu để vận dụng (sợ sai mà)
Amen giờ mới thấy TN xuất hiện, TN đừng có sợ sai cứ viết đi mình chờ nè.
SA ơi! chỉ cần quản lý được cả năm thì mình có thể lấy dữ liệu cho từng ngày hay từng tháng ( cái này chắc cũng làm được hy vọng là thế )
Muốn làm như SA nói chắc phải cả năm nữa may ra mới học đủ kiến thức để làm hic hic. HY vọng TN có 1 giải pháp tốt như những lần trước
Cảm ơn TN nhìu nhìu :D
 
Tôi đã làm sh inphieunhap từ sh phieunhap, trong đó tôi có đặt thêm 1 số name, bạn kiểm tra nhé. Khi MSPN thay đổi tại Sh inphieunhap thì tự tạo ra 1 pn. Phần phiếu xuất bạn tự nghiên cứu.
- Phần giá thuốc, tôi có tạo thêm sh giathuoc-edit, bạn nghi6n cứu cách lấy gia ngày cuối cùng.
- Trong file này tôi có tham khảo các bạn trên GPE nhiều lắm, bạn cám ơn hộ nhé, nhất là NVSON
- Bạn NVSON kiểm tra hộ các Sub, hơi rườm rà, chỉ giáo thêm nhé. Cám ơn nhiều!
 
Lần chỉnh sửa cuối:
Hì không biết thế nào nữa ( ngồi ở dịch zụ nét) nhưng cũng xin cảm ơn TN và các bạn đã dành thời gian quý báu của mình giúp đỡ cho tớ. Để download về tối xem lại thử có hiểu được gì không.
Nhân tiện đây nhờ các bạn tính tổng số tiền theo dữ liệu sau khi lọc ra dùm mình, mình tính hok được :(
 

File đính kèm

  • vidu.xls
    16 KB · Đọc: 92
Dear ditimdl,
-----------
Nếu số liệu không quá phức tạp thì bạn có thể diễn giải đầy đủ và dễ hiểu mà không cần file đính kèm. Ví dụ, ở bài trên, bạn chỉ cần một câu hỏi thế này: "Làm sao để kết quả tính tổng đúng theo kết quả lọc?". Khi các bạn khó hiểu thì mới nên đưa ví dụ minh hoạ (tất nhiên bạn phải giải thích thật chi tiết và dễ hiểu). Mặt khác khi gửi ví dụ bạn nên nén file ở dạng zip.
Làm như vậy bạn sẽ tiết kiệm được tài nguyên cho bạn và cho diễn đàn.

Trả lời câu hỏi của bạn, trong trường hợp này bạn sử dụng hàm SUBTOTAL với function_num là 9. Bạn tham khảo thêm cú pháp hàm bằng F1:
SUBTOTAL(function_num, ref1, ref2, ...)
Function_num is the number 1 to 11 (includes hidden values) or 101 to 111 (ignores hidden values) that specifies which function to use in calculating subtotals within a list.
1 - AVERAGE
2 - COUNT
3 - COUNTA
4 - MAX
5 - MIN
6 - PRODUCT
7 - STDEV
8 - STDEVP
9 - SUM
10 - VAR
11 - VARP

Ref1, ref2, are 1 to 29 ranges or references for which you want the subtotal.
Remarks
  • If there are other subtotals within ref1, ref2,… (or nested subtotals), these nested subtotals are ignored to avoid double counting.
  • For the function_num constants from 1 to 11, the SUBTOTAL function includes the values of rows hidden by the Hide command under the Row submenu of the Format menu). Use these constants when you want to subtotal hidden and nonhidden numbers in a list. For the function_Num constants from 101 to 111, the SUBTOTAL function ignores values of rows hidden by the Hide command under the Row submenu of the Format menu). Use these constants when you want to subtotal only nonhidden numbers in a list.
  • The SUBTOTAL function ignores any rows that are not included in the result of a filter, no matter which function_num value you use.
  • The SUBTOTAL function is designed for columns of data, or vertical ranges. It is not designed for rows of data, or horizontal ranges. For example, when you subtotal a horizontal range using a function_num of 101 or greater, such as SUBTOTAL(109,B2:G2), hiding a column does not affect the subtotal. But, hiding a row in a subtotal of a vertical range does affect the subtotal.
  • If any of the references are 3-D references, SUBTOTAL returns the #VALUE! error value
 
Kiểm tra ngày KB gần nhất bằng hàm sumproduct

Bạn có thể Kiểm tra ngày KB gần nhất bằng hàm sumproduct kết hợp với conditional formating
Tôi làm thử với vd này là cách 5 ngày so với today(), bạn triển khai thêm
Cũng có thể làm bằng VBA.
Cột A là MSBN, Cột B là ngày khám bệnh
tại cột B conditional formating như sau, copy format đến cuối
=SUMPRODUCT(($A$2:A2=A3)*(($B$2:B2)+5>TODAY()))>0
Tại cột B dùng conditional Formating với ĐKKiểm tra ngày KB gần nhất của MSBN + 5 so với today()Nếu >0 thì báo màu đỏ: cách đây 5 ngày đã có khám, nếu >5 ngày thì OK
 
To ĐVC: xin lỗi nhé mình cũng nghĩ là zip lại để upload lên nhưng do thấy dung lượng nhỏ quá nên ko có zip lại, dù sao cũng cảm ơn ĐVC nhiều.
To TN: trong file BHYT_2 TN dùng macro phải không? dòm qua dòm lại cũng không hiểu gì lắm để ngâm cú thêm đã nhé ! TN thử nghiên cứu xem khi mình nhập dữ liệu và từ phieunhap và ophieuxuat, nếu phiếu nhập or xuất cỡ 100 thuốc thì số cột sẽ thành 200 cột, nhìn rất là dài dòng, hông biết có cách làm nào khác mà vẫn có thể làm công việc đó thuận tiện hơn không?
Xin TN và các pro nghiên cứu dùm nha.
 
Dear,
Vậy bạn muốn nhập dl theo kiểu nào:
1/ Theo hàng ngang như ban vẫn làm
2/ Theo hàng dọc: tên hàng sl DG tien và tạo inphieu
3/ Nhập từ Sh Nhaplieu (inphieu) và đưa dl và phieunhap theo thực tế
4/ Nhập từ Sh Nhaplieu (inphieu) và đưa dl và phieunhap, nhưng trong Sh nhaplieu hiển thị 100 dòng (mặt hàng), bạn chỉ việc chọn và nhập sl, nếu ok thì bỏ dòng không có sl và đưa vào phieunhap
Trong các cách trên ,cách nào bạn thấy thích hợp nhất và quan trọng o ảnh hưởng công việc của bạn. Tôi sẽ tạo cho bạn 1 file nhập liệu.
Bye!
 
ThuNghi !
Bạn tạo 1 file theo kiểu thứ 2 cho mình được không? và nếu như vậy thì có lấy dữ liệu(số lượng thuốc) có gặp khó khăn gì không?
Còn file TN gởi BHYT_2 á, TN làm sao để khi số lượng thuốc nhập vào ít thì khi in ra phiếu nó mất những dòng trắng (không có dữ liệu) đi?
Đọc đi đọc lại mà không hiểu gì luôn :((
cảm ơn TN nhìu !
 
Đây là file tôi down từ diễn đàn
(trích 0983.009.157 - hieu1563@gmail.com)
Bạn xem và bỏ bớt 1 số thông số: mã hàng, TK nợ có ....thấy cũng rất phù hợp với công việc của bạn. Có gì thắc mắc cứ hỏi nhé, đừng ngại.
 
Lần chỉnh sửa cuối:
Thanks TN !
Nhân tiện đây làm phiền típ nữa, sắp cuối năm rồi cần phải quyết toán, báo cáo..
Trong file mình gởi lên mình muốn hỏi các bạn 1 số câu hỏi?
1. Trong sh tinhtien: mình chỉ in từng hoá đơn nên rất lâu, môĩi lần muốn in hoá đơn khác thì phải đánh lại mã số pohiếu KCB mới và mỗi lần chỉ in được 1 hoá đơn thôi. Mình muốn hỏi có cách nào làm để in nhiều hoá đơn cùng 1 lúc không?
2. Trong sh baocao: Mình muốn lọc 4 loại thẻ sau ra để báo cáo
0563 RR0, 0663 RR0, T1 66 018, 0663 TT0 ( tuy là 4 mã thẻ nhưng thực chất nó là 1 nên mình muốn lọc ra để báo cáo nhưng không biết đặt điều kiện lọc sao cho nó ra hết hic hic)
Giúp mình với.
To TN: bạn có thể cho biết số dt hay địa chỉ của bạn được không?( Có việc xíu chứ không có ý gì xấu đâu )
 
Lần chỉnh sửa cuối:
ditimdl đã viết:
Thanks TN !
Nhân tiện đây làm phiền típ nữa, sắp cuối năm rồi cần phải quyết toán, báo cáo..
Trong file mình gởi lên mình muốn hỏi các bạn 1 số câu hỏi?
1. Trong sh tinhtien: mình chỉ in từng hoá đơn nên rất lâu, môĩi lần muốn in hoá đơn khác thì phải đánh lại mã số pohiếu KCB mới và mỗi lần chỉ in được 1 hoá đơn thôi. Mình muốn hỏi có cách nào làm để in nhiều hoá đơn cùng 1 lúc không?
2. Trong sh baocao: Mình muốn lọc 4 loại thẻ sau ra để báo cáo
0563 RR0, 0663 RR0, T1 66 018, 0663 TT0 ( tuy là 4 mã thẻ nhưng thực chất nó là 1 nên mình muốn lọc ra để báo cáo nhưng không biết đặt điều kiện lọc sao cho nó ra hết hic hic)
Giúp mình với.
To TN: bạn có thể cho biết số dt hay địa chỉ của bạn được không?( Có việc xíu chứ không có ý gì xấu đâu )
Tôi đã xem qua file của bạn, quả thực tôi không hiểu về ngành y nên cũng không hiểu hết ý nghĩa được. Tôi có một số góp ý như thế này:
-Thực ra file của bạn không nhiều dữ liệu lắm, chỉ có cái là bạn chưa biết cách sắp xếp tổ chức dữ liệu theo kiểu một CSDL.
-Bảng nhập liệu là một nơi để ghi ra tất cả những gì phát sinh, tuy nhiên những gì không cần ghi ra (mà nó vẫn có) thì lại không cần thiết. (VD : đơn vị tính của thuốc)
-Những gì giống nhau thì bạn nên cho vào một cột chung (cái gì mà cột đơn giá và thành tiền nhiều thế ?)
Có thể hình dung giải pháp như sau:
-Quản lý bệnh nhân : Theo tên và theo Số thẻ BHYT (về sl thuốc, giá tiền, dịch vụ khám…)
-Quản lý theo Số chứng từ : Một người một lần khám là có một chứng từ (một lần khám có thể nhiều dịch vụ : siêu âm, điện tim đồ)
-Quản lý theo thuốc : theo thời gian, theo người bệnh.

Vì vậy tôi đề nghị :
Lập danh mục : Những gì hay sử dụng nhiều lần và có điểm chung
------------Danh mục loại thẻ BHYT : để sau này bạn có thể theo dõi theo từng loại thẻ (VD như yêu cầu trên là các loại thẻ : 0563 RR0, 0663 RR0, T1 66 018, 0663 TT0 ); nơi đăng ký….
-----------Danh mục các loại thuốc : Đơn vị tính; đơn giá; nhà phân phối; đặc tính…
-----------Danh mục các dịch vụ khám : Siêu âm; điện tim; X quang …..
-----------DM khu vực : Nếu bạn có yêu cầu quản lý bệnh nhân theo khu vực (VD như nơi đăng ký khám chữa bệnh ……)

Còn đây là cách tổ chức của Sh Dữ liệu (Tạm thời)
http://www.4shared.com/file/7089135/f9b2c899/BenhNhan.html
Bạn đã hiểu rất rõ về cách đặt name, vậy thì hãy vận dụng nó để kết hợp với hàm tổng hợp SUMPRODUT thì sẽ có thể cho ra nhiều thứ lắm.
Còn về in phiếu thì tôi hay dùng advanced Filter để lọc ra chi tiết ở một sh tạm, sau khi xử lý xong thì copy ngược về phiếu cần in
Còn về in nhiều phiếu thì bạn phải biết chút ít về VBA mới làm được, chứ dùng hàm không thì vẫn phải thủ công từng phiếu thôi. Bạn tham khảo nhé.
http://www.4shared.com/file/7089134/8eb5f80f/_2__NX_Hang_Hoa.html
 
Lần chỉnh sửa cuối:
Dear,
Bạn cứ mạnh dạn đưa lên GPE, mỗi lần bạn hỏi 1 vấn đề thì tôi lại biết thêm
Tôi cũng học VBA trước bạn 1 ngày thôi, như vậy chỉ nhau dễ hiểu hơn
Tôi đã làm lại file nhập liệu mà tôi đã up lên cho phù hợp với công việc của bạn. (phải ngã mũ chào, quen nhiều quá). Bạn cố gắng nghiên cứu về index, match và quan trọng nhất là offset. Vận dụng nhiều lắm
Bạn xem 0 hiểu thì hỏi nhé!
 
Lần chỉnh sửa cuối:
1/ Đặt tên vùng A3:BF200 là nhaplieu thay thế cho nhapdulieu!3:10100
Thay thế $G$1 = $G1
Bạn copy phần tinhtien A1:H52 dán xuống dưới (có thể mỗi máy in khác nhau)
tại G53 = G1+1, nhớ canh trang in và nếu muốn in lần mấy trang thì copy,
2/ Tại sh baocao, dùng autofilter ngay chỗ số thẻ, custom equal = 0563 RR0*, hay là begin with 0563 RR0, then copy sang sh khác
 
Lần chỉnh sửa cuối:
Bạn có thể in phiếu bằng cách tạo 1 sh là 1 phiếu và in một lúc
Nếu tải rồi thì Reply để tôi xóa
 
Lần chỉnh sửa cuối:
Tạo 1 phiếu là 1 sheet phải không bạn ? Sau đó chọn tất cả các sheet đó rồi in ? Nếu thế thật thì có mà.....
 
To MrHieu: Dữ liệu không ít như bạn tưởng đâu, mình xoá để lại 1 ít để upload lên cho nhẹ, mỗi quý mình quyết toán khoản 17-20 nghìn bệnh nhân :D. Số thẻ bảo hiểm nó rất phức tạp nên khó mà làm theo những gì bạn nói, cũng có thể kiến thức mình chưa đủ khả năng để làm nên việc đó :(( Mới bị bắt buộc làm ktoán mà trước đây có biết gì đâu.
To TN: cảm ơn bạn nhiều nhưng có 1 câu hỏi bạn vẫn chưa trả lời á. Khi lọc thẻ để báo cáo, có 4 loại thẻ khác nhau nhưng thực chất nó là 1 nên muốn báo cáo thì phải lọc cả 4 loại phiếu trên như mình nói ra chung 1 sh trong 1 lần lọc, còn nói như TN thì phải lọc nhiều lần cũng hơi phiền :D.
Phan in du lieu thi minh da lam roi cung hoi giong nhu TN bay.
TN: minh cung muon hoc them nhiu ham lam nhung hinh nhu may ham index, match, offset doc nhiu lan van ko hieu :( ( bo go tu nhien go tv ko dc nua, sorry cac ban nha)
Tam thoi minh tim hieu nhung gi cac ban bay da, co thac mac gi se lam fien cac ban sau. Cam on cac ban rat nhiu! Du lieu minh da download xuong, neu cac ban co remove thi cu remove di nha.
 
Web KT
Back
Top Bottom