Một bài toán trong lĩnh vực Y tế (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

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
Đầu tiên xin làm phiền các bạn 1 xíu nha.
Mình học chuyên ngành dược nên đến với excel rất là lạ lẫm, có thể nói là ngu excel cũng được. Hôm nay mình mạo muội gởi 1 file mình đã làm lên đây để nhờ mọi người gỡ dùm mình.
Công việc hiện tại mình đang làm là quản lý thuốc và quyết toán thuốc ngoại trú(chỉ riêng cho bệnh nhân ngoại trú thôi), việc của mình là cuối tháng xem thử dùng bao nhiu thuốc, bao nhiu tiền để quyết toán với bảo hiểm.
File mình gởi lên có 4 sheet.
- Sheet1(nhapdulieu): mình nhập từng đơn thuốc vào(bao gồm tên, mã thẻ, thuốc...)
- Sheet2(tinhtien): dùng để in hóa đơn tính tiền cho từng bệnh nhân(lấy dữ liệu từ sheet2).
- Sheet3: thống kê tổng số lượng thuốc đã dùng
- Sheet4: báo cáo(phần này mình quyết toán với bên bảo hiểm, lấy dữ liệu từ sheet1 luôn)
Mong các bạn xem rùi giúp mình.
Mình cần hỏi:
1. Ở sheet3 mình tính được tổng số lượng thuốc đã dùng nhưng không biết làm sao để tính được số lượng thuốc mình đã dùng ở 1 ngày nào đó?
2. Mình nghĩ có thể đưa thêm phần đơn giá vào sheet1 nhưng không biết làm sao đưa và khi giá thuốc thay đổi thì khi sửa lại giá thuốc những dữ liệu trước có bị sai lệch không?
Mong các bạn giúp mình, mới chuyển qua cv này nên có học chút excel nhưng vẫn ko thấm vào đâu, công thức còn rối như nhện nếu pro nào có ý giúp thì góp ý cho mình để mình học hỏi thêm.
Cảm ơn các bạn .
 
Lần chỉnh sửa cuối:
Tôi đã lập Sh 3 theo yêu cầu của bạn
Tôi tạm tính khỏang 200 dòng (có thể đặt thêm)
1- Đặt tên trong Sh 1: G3:G200 : thuoc1
2- Đặt tên trong Sh 1: H3:H200 : SL1
3- ...... thuoc6 và SL6

4- dat ten mang ngaykb
5- Dùng hàm sumproduct, tôi đã làm thử, bạn đặt lại và copy
6- Về giá thuốc, nếu thay đổi thì phải có thêm dm thuốc, giá thuốc theo ngày, và giá update. (Hơi nhiêu khê)
7- Bạn nên đặt tên thuốc theo mã thuốc,
vd: Acemuc 200mg : acemuc200 hay là 01 001 200
Acetazolamid 250 : acetaz250 01 002 250
 
Lần chỉnh sửa cuối:
Cảm ơn bạn, vậy là cuối cùng cũng có cách giải quyết rồi mình sẽ thử xem, mấy hôm nay mình cứ dựa vào hàm sumif rồi khoanh vùng lại mà tính chán thật.
Giờ lại gặp khó khăn mà mình không giải quyết được nên post lên đây mong các bạn giúp mình với.
Công việc của mình là nhập dữ liệu từ các đơn thuốc, 1 đơn thuốc có ít nhất là 0 thuốc(trường hợp này chuyển viện nên chỉ nhập vào để lấy công khám) và nhiều nhất là 6 thuốc(nhưng ít khi gặp đơn có 6 thuốc)
Mình tạo ra 1 danh mục nhữg thuốc hay dùng và áp giá vào cho từng loại thuốc.
DÙng hàm vlookup để tự động áp giá vào thì gặp khó khăn khi hàm này dò tìm gặp phải những đơn thuốc không dùng thuốc hay có dùng mà không đủ cả 6 loại thì nó báo #N/A(tham chiếu không tồn tại) mình có dùng hàm if kết hợp với hàm len nhưng vẫn không khắc phục được. Mong các bạn giúp mình. Công thức cần giúp nằm ở cột F ở sheet nhapdulieu trong file mình attach.
Cảm ơn các bạn !
 
Lần chỉnh sửa cuối:
Bạn tham khảo thử file tôi gởi sau:
1 - Nếu giá thuốc thay đổi, bạn phải cập nhật, còn giữ giá cũ thì vẫn phải nhập vào, và thay đổi ngày, nhớ rằng chỉ tiêu ngày phải format thống nhất.
2 - Còn báo NA bạn nên tham khảo GPE, rất nhiều trả lời cho vấn đề này, và bạn vận dụng vào file của bạn luôn
 
Lần chỉnh sửa cuối:
Không biết nó như thế nào, mình dow về xem thử, còn cái lỗi #N/A mình chịu, ngồi nghĩ mãi mà chẳng được cái gì cả, khả năng có hạn mà :D
Ai co lòng tốt làm ơn check hộ rùi help luôn đi mà.
 
Bạn thử tìm hiểu hàm IsNA trong Excel xem sao. Không hiểu thì đọc Help.
 
ditimdl đã viết:
Công việc của mình là nhập dữ liệu từ các đơn thuốc, 1 đơn thuốc có ít nhất là 0 thuốc(trường hợp này chuyển viện nên chỉ nhập vào để lấy công khám) và nhiều nhất là 6 thuốc(nhưng ít khi gặp đơn có 6 thuốc)
Mình tạo ra 1 danh mục nhữg thuốc hay dùng và áp giá vào cho từng loại thuốc.
DÙng hàm vlookup để tự động áp giá vào thì gặp khó khăn khi hàm này dò tìm gặp phải những đơn thuốc không dùng thuốc hay có dùng mà không đủ cả 6 loại thì nó báo #N/A(tham chiếu không tồn tại) mình có dùng hàm if kết hợp với hàm len nhưng vẫn không khắc phục được.
Dear ditimdl,
------------
Mình đã xem file dữ liệu của bạn. Một góp ý nhỏ, có thể không liên quan trực tiếp đến khúc mắc của bạn nhưng hi vọng sẽ giúp bạn gỡ rối phần nào:
1. Nhiều nhất là 6 thuốc(?):
Theo mình một đơn thuốc phụ thuộc vào bệnh lý và mức độ của bệnh, nếu bạn dự tính đơn thuốc chỉ gồm tối đa 6 loại thuốc thì e rằng đến một lúc nào đó bạn sẽ phải bổ xung thêm cột để quản lý nhiều hơn số thuốc dự kiến. Theo mình, nếu để phục vụ tốt cho công việc chuyên môn, bạn nên ngay từ đầu xây dựng danh mục đơn thuốc bao gồm tối thiểu các thông tin: chiệu chứng bệnh, các loại thuốc, liều lượng,... Việc lập danh mục này dựa vào kiến thức về y tế mà bạn đã được học và kết hợp với kết quả thống kê trong quá trình khám bệnh cho bệnh nhân. Ví dụ, mình có thể đưa ra một đơn thuốc cho các bệnh nhân sau khi chữa khỏi cho bệnh nhân Trần Thị Nghiệp (số thẻ y tế 0563 RR0 030 000110) bằng các loại thuốc: Amtim 5mg, Decoltractyl 250mg, Paracetamol 500mg, Vitamin 3B. Bằng cách này, cứ mỗi khi khám bệnh, bạn chỉ cần so sánh kết quả khám bệnh mà đưa ra đơn thuốc phù hợp. Bạn nên phân chia việc theo dõi khám bệnh ở mức tổng hợp (khám bệnh) và chi tiết (chi tiết khám bệnh) - Xem file đính kèm. Ở mức tổng hợp theo dõi tình hình khám bệnh của bệnh nhân và tổng số tiền điều trị. Ở mức chi tiết bạn theo dõi số lượng thuốc cũng như giá trị thuốc sử dụng. Nguyên tắc là tổng giá trị thuốc của một phiếu khám bệnh phải bằng số tiền của phiếu khám bệnh tương ứng trên sổ tổng hợp. Có thể bạn sẽ thấy sự trùng lắp giữa 2 bảng này? Thực chất đây là một nguyên tắc kiểm tra rất phổ biến được áp dụng trong kế toán nên công việc nhập số liệu vào cả 2 bảng này không bị coi là thừa.
2. #N/A:
Lỗi này phát sinh do hàm tìm kiếm không tìm được điều kiện dò tìm trong bảng nguồn. Không tìm thấy điều kiện dò tìm trong bảng nguồn thì có nhiều nguyên nhân, nhưng trong bảng dữ liệu của bạn, theo mình nguyên nhân chính có thể là do dữ liệu giữa bảng nhập liệu và bảng danh mục không khớp nhau. Thông thường (mà có lẽ đã trở thành nguyên tắc) giữa 2 bảng này phải có mối quan hệ thông qua một "chìa khoá" (Key) - ở đây được hiểu là mã thuốc. Trong danh mục thuốc, bạn cần bổ sung vào cột đầu tiên của bảng cột mã thuốc và sử dụng mã này trong bảng nhập liệu thay vì sử dụng tên thuốc để tìm kiếm đơn giá thuốc.
Hai điều góp ý, hi vọng là bạn hiểu ý mình!
Bạn tham khảo ví dụ minh hoạ trong file đính kèm:
 

File đính kèm

Lần chỉnh sửa cuối:
Ví dụ về #N/A

Tôi đưa ví dụ về hàm Iserror, hàm match, index để bạn nghiên cứu về file tôi đưa bạn
 
Lần chỉnh sửa cuối:
Cảm ơn TN nha, tuy mình không hiểu hết các hàm bạn ví dụ nhưng cũng đã khắc phục được lỗi #N/A rồi, mừng ghe :D
To ĐVC: bài của bạn mình có đọc nhưng mình còn kém quá nên không hiểu gì cả hic hic.
Sẳn đây cho mình hỏi 2 bạn luôn:
Ví dụ 1 bệnh nhân đi khám thì phải >5 ngày sau mới được đi khám lại(vì thuốc cho bệnh nhân dùng trong 5 ngày mà). Vậy mình có thể kiểm tra được khi bệnh nhân chưa dùng hết thuốc mà đi khám tiếp không?? Vì hiện tại có 1 số bệnh nhân 2 hay 3 ngày là đi khám à, nếu nhớ tên thì phát hiện ra không thì bó tay, không lẽ cứ mỗi bệnh nhân khám xong mình phải kiểm tra từng người thì chết mất.
Các bạn có thể giúp mình như thế này không? dựa vào ngày khám lần trước và ngày khám hiện tại nếu chưa đủ 5 ngày thì nó báo cho mình biết được không?
Mong được các bạn dành chút thời gian giúp mình với
Cảm ơn các bạn nhiều !
 
Dear ditimdl
----------------
Chưa cần nghĩ tới các kỹ năng sử dụng Excel, bạn hãy hình dung cách quản lý của bạn về các bệnh nhân đến khám đúng hạn như thế nào:
Trong sổ nhật ký khám bệnh, bạn có cột "Ngày khám", "Ngày tái khám". bằng việc so sánh 2 ngày này, bạn sẽ biết được bệnh nhân nào... "quá lo lắng".
Nếu lập sổ bằng tay (sổ viết) bạn cần có thêm cột "Số ngày tái khám" để tiện theo dõi. Với những hỗ trợ của MS Excel, chắc bạn dễ dàng có thể làm được điều này.
 
Mình chỉ mới học lớp vỡ lòng excel thui nên rất lộn xộn có nhiều khi còn không hiểu mình làm gì nữa kìa :(. Mẫu làm việc thì có trong file mình upload trên bài trên rồi, các bạn có thể dựa trên cơ sở đó giúp mình không? Hay nếu có thể sửa đổi sao cho phù hợp thì mong các bạn giành chút thời gian chỉ dùm :).
Nói như cogai...: thì mình càng mù thêm 1 tí :), nếu như có ngày khám bệnh và ngày tái khám nhưng vấn đề làm sao khi mình nhập:tên hay mã thẻ bảo hiểm của bệnh nhân đó vào mà chưa đúng ngày tái khám thì nó báo cho mình bít mới là vấn đề hic hic.(tên thì có thể trùng nhau nhưng mã the thì không thể trùng)Vậy dựa vào cơ sở đã có ngày khám bệnh và ngày tái khám=(ngay kham bệnh + 5 ngày) thông qua mã thẻ bảo hiểm mình có thể phát hiện được không(bằng cách kiểm tra mã thẻ) ???
thanks all!
 
T[FONT=&quot]rong Sheet nhapdulieu, bạn chọn tiêu đề và Auto filter, có người khám bệnh thì bạn chọn số thẻ và filter, liệt kê hết thông số về thẻ đó, kiểm tra ngày lớn 1 là xong. (Trước mắt làm vậy, tính cách khác sau). [/FONT]

Bạn nên nghiên cứu file theodoibanhang của nhóm anh Bình OverAC
 
Chỉnh sửa lần cuối bởi điều hành viên:
Check NgayKB

Bạn nghiên cứu thêm sh kiemtra, nhớ là dòng tiêu đề chì 1 dòng
 
Lần chỉnh sửa cuối:
T[FONT=&quot]rong Sheet nhapdulieu, bạn chọn tiêu đề và Auto filter, có người khám bệnh thì bạn chọn số thẻ và filter, liệt kê hết thông số về thẻ đó, kiểm tra ngày lớn 1 là xong. (Trước mắt làm vậy, tính cách khác sau).[/FONT]
Làm kiểu này chắc bị bệnh nhân bóp cổ chít lun quá à :) (Nhập nhiều lúc không kịp còn bị bệnh nhân chữi, nếu mà đợi nữa chết là cái chắc.
To TN: Cách của bạn làm hay thật, mình làm theo y như bạn bày và có lấy thêm số phiếu và đơn thuốc mà bệnh nhân đã khám vào lần cuối cùng.
Không biết bạn có thể giúp thêm được không?
Khi mình nhập mã thẻ vào thì nó hiện ra số lần khám, nếu số lần khám >1 lần thì có thể liệt kê ra cụ thể những ngày nào bệnh nhân đó đã khám không?
Lần trước bạn hướng dẫn mình dùng hàm sumproduct để tính tổng số thuốc đã dùng theo từng ngày hay theo từng thời gian cụ thể. Sau khi làm xong phần đó thì bảng tính xử lý chậm lắm, mỗi lần nhập dữ liệu xong tab sang ô khác thì calculator nó nhảy 5%-10%....nhảy xong 100% thì nó mới chịu tab sang ô khác(y như đang chơi năm mười á), có cách nào khắc phục không(đùng bảo mình chuyển calculator về chế độ manual nha)
 
Lần chỉnh sửa cuối:
Bạn nên tham khảo (trích Handung107)
http://www.giaiphapexcel.com/forum/showthread.php?t=11
Bạn đặt tên mảng với số dòng vừa phải thôi, phải dự trù số record mà đặt.
Bỏ bớt auto filter những sh o cần.
Tôi up thêm cho bạn về tính số lần khám bệnh gần nhất so lần KB hiện tại
 
Lần chỉnh sửa cuối:
Xin các bạn giúp dzum`

Trong file mình gởi có 3 sheet. Sheet1 là tổng kho, sheet2 là xuất, sheet3 là nhập.
Làm sao để có sự liên kết giữa tổng kho, nhập và xuất các bạn giúp mình với, mình không biết phải làm sao cho hợp lý.
Khi mình xuất hay nhập thì số lượng thuốc trong kho sẽ thay đổi theo chứ trước đây mình cứ làm riêng lẻ nên mất rất nhiều thời gian cho việc này. Các bạn có thể giúp mình với.
Cảm ơn nhiều !
 
Lần chỉnh sửa cuối:
Xin các bạn giúp dzum`

Trong file mình gởi có 3 sheet.
Các bạn có thể giúp mình làm sao để khi mình xuất hay nhập thì số lượng trong kho sẽ thay đổi theo được không? số lần xuất và nhập 1 tháng khoảng 5 hay 6 lần gì đó, các bạn có thể bày mẫu cho mình không?
 
Lần chỉnh sửa cuối:
Hospistal Patient Care

Đây là 1 yêu cầu về bài toán "Hospistal Patient Care" để các bạn tham khảo:
----------
Requirements ...

The Database will contain records for each individual patient.
As well as personal details such as name, address and next of kin,
the patient record contains a brief summary of their condition, and
personal notes, e.g. about diet and cultural preferences.
Because patients may be admitted many times, a separate admissions file is
required with records for each patient admission, with attributes such as
admission date, discharge date, admission reason and discharge reason.

Once patients are admitted to the hospice, they will be assessed regularly.
The date and time of the assessment are recorded, along with a description
of the patient’s symptoms.

Each assessment may have one or more treatments associated with it.
A treatment has a number of attributes, including a description, reason, and status.

Each assessment and each treatment is carried out by one health professional.
Because holistic, multi-disciplinary care is provided, a speciality for each
health professional is recorded (e.g. doctor, physiotherapist)."

------------

This Section shows four topics to define the Business rules for a Database for Patient Care ...
It contains four Sections :
1. Things of Interest
2. How these Things are related
3. Characteristics of these Things
4. User Scenarios

1. The Things of Interest include :-
* Patients
* Appointments
* Staff
* Medications
2. How are these Things related :-
* A Patient can make and cancel zero or many Appointments
* An Appointment is made for a Staff Member by a Patient.
* An Appointment is for a specified Date, Time and Duration.
* A Patient can be prescribed a specified Medication.
* Over a period of time, a Patient can be prescribed a number of different Medications.
3. Characteristics of these Things :-
* A Client has :-
* First Name, Last Name, Address, Home Phone Number, Email Address, Height, Weight, Date of Birth.
4. User Scenarios :-
1. The Staff Member can select a Patient Name from a List and see the Appointments for the Patient.
2. Then the User can click on a Patient Name to seee the current situation.

Hình vẽ kèm theo là Logical Data Model
 

File đính kèm

  • PatientCare.JPG
    PatientCare.JPG
    98.1 KB · Đọc: 155
Lần chỉnh sửa cuối:
Hospital Admissions

Còn hình vẽ kèm theo sau đây là Logical Data Model của bài toán Hospital Admissions để mọi người tham khảo.

Tương tự, còn rất nhiều bài toán liên quan đến Medical như:

# Dietician Practice
# Doctor's Practice
# Health Center
# Health Insurance Claims
# Hospice Patient Care
# Hospital Admissions
# Nurses Roster
# Nursing Home
# Patient Care
# Pharmacies and Generics
# Pharmacies and Prescriptions
# Pharmaceutical Supplies
# Symptoms and Diseases

Cái quan trọng nhất là các bạn phải phát biểu được bài toán ở mặt nghiệp vụ. Chứ còn chuyện DB là kết quả của cái nghiệp vụ đó rồi. Nếu bạn ko phát biểu được bài toán thì chả ai hiểu để mà tham gia cả vì có phải ai cũng hiểu các bài toán liên quan đến Hospital hay Medical đâu.

Mình luôn luôn nhắc lại là nếu ko phát biểu được yêu cầu thì chỉ có những người biết nghiệp vụ rồi mới biết DB nó như thế nào chứ nhưng người ngoại đạo sẽ .... botay.com mà thôi. Nếu chung ta cứ phân tích cái DB nó thế nào thì chỉ có chính người đó (hoặc 1 vài người cùng ngành nghề) hiểu, còn những người khác thì chịu.

Để nói được Requirements, ko phải các bạn bập ngay vào chứng từ A, chứng từ B, rồi trường này trường nọ, v.v... mà phải chỉ ra nhu cầu quản lý là gì? Đối tượng chính của quản lý là gì? Từ đó cần phải có chức năng, tính năng gì, chức năng đó sử dụng thông tin như thế nào, v.v... rồi cuối cùng mới biết được DB cần phải ra sao, v.v... Rất tiếc là dự án Excel đã dừng lại mặc dù đó là con đường đi đúng hướng.
 

File đính kèm

  • Hospital Admissions.JPG
    Hospital Admissions.JPG
    267.3 KB · Đọc: 146
File bạn gởi, trong 3 sh, sh nào chứa dm thuốc
Theo tôi bạn nên có sh dmthuoc
Và cột tồn, nhập, xuất bạn dùng sum if thì OK
Còn nếu bạn muốn tồn mới = tồn + nhập - xuất cũng được
Đang thắc mắc phần sh nhap và sh xuat bạn lấy kết quả từ Sh khác hay là thế nào
 
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

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.
 
Dear ditimdl,
Bạn tạo thêm 1 cột, nếu left(msth,x)="xxx" or .... thì lấy 1, lọc theo 1
Vấn đề tôi tạo 1 phiếu 1 sh để in, là vì bạn chưa thông thạo lắm, nên tạo ra hết các phiếu-> kiểm tra->in. Đơn giả mà khỏe.Bạn nên down file baocao2
 
Chính vì nhiều (mình thường xử lý khối dữ liệu từ 15 ngàn dòng trở lên); vì vậy mình mới đề nghị bạn làm theo kết cấu cơ sở dữ liệu. Chứ nếu mà làm như bạn, bảng gồm 60 cột cái gì cũng liệt kê ra thì các công thức tổng hợp và các nghiệp vụ tính toán sẽ rất lâu. Bạn hãy gửi file cho mình (cứ cho là khoảng 20 ngàn dòng đi), và đưa ra các yêu cầu về report, mình sẽ tổ chức lại để xem có chạy nhanh hơn không và tính toán tổng hợp có linh hoạt hơn không .
Thân !
 
Nếu các cùng một số chứng từ nằm không liền kề nhau và sắp sépp lộn xộn, chúng ta hoàn toàn có thể in chi tiết của chứng từ đó ra dựa vào các hàm index, match, và indỉrect. Sau đó tạo một bảng phụ ở đó :gồm 02 cột
STT.......CT cần in
1...........ABC001
2...........AA123
.........
Sau đó tại ô số phiếu (VD ô A10) là dùng hàm index (match) hoặc vlookup để ính toán theo 1 ô khác (VD ô A16).
Khi A16 = 1....->A10 = ABC001
Các công thức bên dưới sẽ tự chạy theo
(một phiếu khoảng 50 dòng thì tôi không cho là nặng)

P/S : Vì không dùng VBA tôi mới làm cách trên, còn dùng VBA thì là là chuyện đơn giản hơn nhiều. (tôi vẫn thích dùng advance filter hơn- tất nhiên là VBA rồi)
 
Nói chung nhờ các bạn công việc của mình cũng tạm ổn rồi nhưng mình mới thấy xuất hiện 1 vấn đề mà không thấy ai để ý đến nên mình muốn tìm hiểu nhưng khôg có cách giải quyết nên mạo mụi làm phiền các bạn nữa.
Ví dụ mình có 1 thuốc A , số lượng 100 viên, giá 100đ/viên nhưng trong tháng 12 chỉ dùng có 50 viên thì số còn lại là 50. Nhưng sang tháng 1 năm sau thì giá thuốc A lên 200đ/viên thì 50 viên còn lại sẽ áp giá theo tháng 1. Mình muốn hỏi co cách nào để biết được số tiền dư ra không? (50 viên x 100đ(tiền vượt giá)= C). Đây chỉ là mình ví dụ 1 loại thuốc thôi. Mình muốn tìm hằng số C nằm ở đâu và tổng số tiền đó bao nhiu?
Nhờ các bạn giúp mình.
 
Dear,
Tôi làm thử file sau có đúng ý bạn không?
Có thêm ví dụ về offset, không tổng quát lắm, vì tôi cũng đang học
Chúc thành công!
 
Lần chỉnh sửa cuối:
Mã:
Có thêm ví dụ về offset, không tổng quát lắm, vì tôi cũng đang học
Nghe mà bùn thêm, mình học càng ngày càng không hiểu cái gì luôn, chắc tư chất có hạn đấy mà.
À TN nè, mình đọc bài viết trên diễn đàn thấy đoạn code xoá đi những dòng rỗng ( giá trị của nó =0) nhưng không hiểu, bây giờ muốn dùng nó vào để delete những dòng trống khi inphieuxuat or phiếu nhập đấy mà.
Trong file BHYT_2 hình như TN có dùng code xoá đi những rows rỗng nhưng mình vào tìm không thấy đâu cả. Post đoạn code đó lên luôn được ko TN?
Còn file này down về mới xem lại rùi mới có ý kiến được.
 
Thông thường (mà có lẽ đã trở thành nguyên tắc) giữa 2 bảng này phải có mối quan hệ thông qua một "chìa khoá" (Key) - ở đây được hiểu là mã thuốc.

Vấn đề bạn góp í là đúng; Mình hoàn toàn tán thành.

Nhưng mình khuyên bạn nên trích dẫn, chí ít 1 câu của bài mà bạn đang muốn hướng tới để gốp í.


Chúc bạn nhiều thành công với việc tham gia diễn đàn này!
 
Trong sổ nhật ký khám bệnh, bạn có cột "Ngày khám", "Ngày tái khám". bằng việc so sánh 2 ngày này, bạn sẽ biết được bệnh nhân nào... "quá lo lắng". như vậy liệu có tiện không nhỉ hay dùng phần mềm quản lý cho dễ hơn khi data bệnh nhân lớn dần lên sợ file lớn nặng hoạt động không dc
 

Bài viết mới nhất

Back
Top Bottom