Cho em hỏi về hàm sumproduct?

Liên hệ QC

Shinec

Thành viên chính thức
Tham gia
2/4/07
Bài viết
54
Được thích
42
Em đang dùm hàm sumproduct để thống kê số lượng thuốc.
Dữ liệu em cần thống kê khoảng 70 cột và khoảng 500 dòng, trước đây em thống kê không thấy điều gì bất thường xảy ra nhưng trong tháng này em thống kê với số liệu trên thì phát hiện nó thống kê sai.
Ví dụ em thống kê thuốc khoa A thì xuất hiện loại thuốc B nhưng rõ ràng là khoa A không có dùng thuốc B(em đã kiểm tra rất kĩ trước khi hỏi), vì file có dung lượng >10mb nên em ko thể đưa lên đây được.
Vậy có khi nào do số liệu tăng vượt quá ngoài vùng thống kê của hàm sumproduct nên mới dẫn đến kết quả sai không?
Nếu có gì không phải mấy anh chị bỏ qua mà giúp em nha.
 
Khó trả lời quá. Phải cụ thể thì mới góp ý được.
 
Giải Pháp Excel > Kiến thức Excel > Excel và những vấn đề chung
Cho em hỏi về hàm sumproduct?
Shinec đã viết:
Nếu có gì không phải mấy anh chị bỏ qua mà giúp em nha.

Dear Shinec,
-------------
Bạn đã biết vấn đề của bạn liên quan đến công thức, vậy sao bạn không đưa chủ đề vào chuyên mục Excel và các công thức. Mọi người cần bạn điều đó hơn là câu xin lỗi "mong bỏ qua". Nếu bạn ý thức được trước hết vấn đề của bạn đối với diễn đàn thì sự hỗ trợ dành cho bạn sẽ càng có giá trị hơn.
Mong bạn giúp kinh nghiệm.
Shinec đã viết:
Có khi nào do số liệu tăng vượt quá ngoài vùng thống kê của hàm sumproduct nên mới dẫn đến kết quả sai không?
Theo mình đối với các công thức mảng, bạn phải kiểm tra chắc chắn các mảng tham chiếu phù hợp với nhau. Sự "phù hợp" ở đây có thể được thể hiện ở một hoặc tất cả các tiêu tiêu chí sau:
- Có cùng số dòng
- Có cùng số cột
- Duy nhất một cột
- Ô bắt đầu phải cùng nằm trên một hàng
- Các tham chiếu mảng là tham chiếu tuyệt đối

Nếu không tải được cả file thì bạn có thể minh hoạ bằng một vài "động tác" cũng được. Mọi người cũng không cần thiết có đầy đủ dữ liệu của bạn. Hơn nữa, biết đâu qua việc lấy ví dụ bạn đã tìm ra nguyên nhân rồi!
Chúc bạn thành công!
 
Nén file lại rồi gữi cũng dc mà. Nếu nén lại xong mà file vẫn còn lớn thì chia nhõ ra và gữi nhiều lần. Có file rồi thì các bạn mới dễ hình dung dc vấn đề.
Miss TT
 
Thanks Đào Việt Cường. Lần sau mình sẽ chú ý đến vấn đề này để khỏi làm khó mod & smod.
File mình nén lại hơn 1mb và up vào link sau:
http://www.uploading.com/files/P763MBJP/BENHANBH.rar.html

Ở phần TKBA những ô màu đỏ mình đánh dấu đó là những thuốc mà khoa G không có sử dụng trong bệnh án nhưng khi lọc thì nó lại báo có.
Mong các bạn xem qua và giúp mình với.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Dear Shinec,
------------
Mình đã xem file của bạn, mình không có góp ý gì về cơ sở dữ liệu, chỉ tập trung vào vấn đề mà bạn đã nêu trong chủ đề này.
Sau khi kiểm tra 1 trong số các công thức bạn nêu mình thấy kết quả vẫn đúng như bạn tính toán. Cụ thể bạn xem file đính kèm, (mình đã giảm thiểu gửi lên diễn đàn để tiện theo dõi).
 

File đính kèm

  • BENHANBH.rar
    1.1 MB · Đọc: 155
Lần chỉnh sửa cuối:
Mình đã xem qua file bạn gởi lên nhưng bạn có để ý ngay dòng bệnh án 1233 không? Mã bệnh án là 994D(D ở đây là khoa đông y) nhưng ở điều kiện khoa mình cần thống kê là khoa G(khoa ngoại) nhưng nó lại lấy kết quả của khoa D nên mình mới thấy lạ, không hiểu sai vì đâu nữa.
Mong các bạn xem lại dùm mình
Cảm ơn nhiều!
 
Xin lỗi đã làm phiền các bạn, vấn đề của mình đã được khắc phục, nguyên nhân là do người nhập dữ liệu vào insert 1 dòng nên dẫn đến kết quả này.
To ĐVC: trước đây mình chưa học qua tin học và nhất là excel, mình chỉ đọc tài liệu và làm được như vậy thôi, với mình thì mình thấy quá sức lắm rồi nhưng đối với các bạn thì có lẽ việc tổ chức cơ sở dữ liệu của mình rối lắm nên nhìn vào lộn xộn kinh. Nếu ĐVC có chút ít thời gian rãnh có thể góp ý về việc cơ sở dữ liệu của mình không? trong cơ sỏ dữ liệu mình đã xóa bớt 2 sheet, 1sheet dùng để tính tiền và in bệnh án, sheet còn lại dùng để báo cáo bên BH, vì file có dung lượng lớn nên mình đã xóa bớt đi.
Mong ĐVC sớm hồi âm cho mình.
Chúc bạn và diễn đàn ngày càng phát triển mạnh để newbie còn học hỏi thêm.
 
Dear Shinec,
------------
Mình đoán là bạn đã lầm khi cho rằng công thức sử dụng Mã bệnh án làm điều kiện. Mặc dù mã bệnh án có định nghĩa khoa, nhưng nó lại không liên quan đến công thức mà điều kiện này được tham chiếu đến DKTKTHUOCKHOA, có tham chiếu =BENHAN!$IV$5:$IV$2005 (trong file đính kèm mình đã vô tình sửa mất tham chiếu này thành =BENHAN!$IU$5:$IV$2005, các bạn sửa lại giúp). Cho nên mình cảm thấy "nguyên nhân là do người nhập dữ liệu vào insert 1 dòng nên dẫn đến kết quả này" không thuyết phục cho lắm! Bạn thử go to BENHAN!IV1233 và thay đổi giá trị tại ô này, tất yếu kết quả trong công thức sẽ thay đổi!
Về cơ sở dữ liệu và thiết kế, thời gian tới mình chưa thể đóng góp gì cho bạn, nhưng mình hi vọng các thành viên khác sẽ hỗ trợ bạn một cách nhiệt tình - như thể đang xây dựng ứng dụng cho bản thân vậy! Mình chỉ có một ý kiến nhỏ theo kinh nghiệm của mình khi làm việc với Excel như thế này:
- Giảm tối đa "màu mè", hạn chế tô vẽ (nếu không phải là bản sẵn sàng in thì tuyệt đối không có "thành phần dư thừa" nào)
- Thường xuyên đo hiệu suất hoạt động của chương trình, nếu "đèn tín hiệu" màu xanh thì phải dừng lại (cái này hơi ngược với quy tắc giao thông). Để không phải gặp đèn xanh nữa, mình chọn con đường:
+ Chia nhỏ Workbook thành những thành phần (Workbook) nhỏ;
+ Chia dữ liệu thành các kỳ ngắn hạn hơn nếu có thể;
+ Hạn chế việc sử dụng công thức mảng và nếu bắt buộc phải dùng đến thì đặt báo cáo đó trong một Workbook riêng, chỉ khi nào có nhu cầu xem hoặc in ấn thì mới mở ra xem. Mình nghĩ cách này sẽ phù hợp với ứng dụng mà bạn đang xây dựng, có thể sẽ làm giảm thời gian mà bạn chờ đợi Excel Calculating xuống tới 50% (mình đoán vậy vì file của bạn chủ yếu là SUMPRODUCT)
Các bạn và anh chị trên diễn đàn sẽ cùng bạn hoàn thiện chương trình này một cách hoàn hảo nhất (với điều kiện bạn phải biết cách giúp mọi người hiểu được yêu cầu của bạn). Hiện www.Giaiphapexcel.com đang còn rất nhiều dự án còn dang dở. Nếu bạn có ý định chia sẻ cùng diễn đàn thì cứ mạnh dạn chuyển nó thành một dự án nhỏ và làm cho các dự án khác vì thế mà hào cái hứng hơn. Điều đó thật là đáng mừng lắm rồi!
Chúc bạn thành công nhé!
 
Đào Việt Cường đã viết:
Hạn chế việc sử dụng công thức mảng và nếu bắt buộc phải dùng đến thì đặt báo cáo đó trong một Workbook riêng, chỉ khi nào có nhu cầu xem hoặc in ấn thì mới mở ra xem. Mình nghĩ cách này sẽ phù hợp với ứng dụng mà bạn đang xây dựng, có thể sẽ làm giảm thời gian mà bạn chờ đợi Excel Calculating xuống tới 50% (mình đoán vậy vì file của bạn chủ yếu là SUMPRODUCT)

Đồng ý với ĐVCường !

Trong một bản báo cáo thì không nên để công thức (Bất đắc dĩ thôi). Việc sử dụng các công thức mảng là không thể tránh khỏi khi báo cáo đòi dỏi một sự phức tạp.

Tuy nhiên các công thức là cho quá trình tính toán chậm đi, dung lượng File lớn lên rất nhiều vì vậy sẽ làm giảm hiệu suất làm việc.

Bạn không nên để chế độ tính toán là Automatic, mà phải là Manual
Do đó khi có công thức bạn nên cho tính toán xong (tại Sheet đó hay chỉ tại vùng đó), sau đó copy dán giá trị lên ngay.

Khi đó toàn bộ File của bạn chỉ là các giá trị, cực ít công thức, như vậy file nhỏ đi, tính toán nhanh hơn rất nhiều.(tăng hiệu suất khoảng 80->90% đấy)

Thân!
 
To ĐVC:
Mình đoán là bạn đã lầm khi cho rằng công thức sử dụng Mã bệnh án làm điều kiện
Mình lấy 1 kí tự bên phải của mã bệnh án làm điều kiện để thống kê sao lại không liên quan nhỉ??
Mình cũng muốn cùng các anh chị hoàn thiện 1 ứng dụng nhỏ cho riêng mình nhưng mình thấy hầu hết trên diễn đàn số nhiều đều áp dụng VBA vào công việc này, bản thân mình mới tiếp xúc với excel nên về VBA lại càng mù luôn.
Sắp tới mình đưa những vấn đề liên quan đến file của mình, hy vọng các bạn sẽ góp ý cho mình tổ chức lại dữ liệu cũng như công thức thích hợp hơn.
Cảm ơn các bạn.
 
Web KT
Back
Top Bottom