Xin viết giúp công thức xếp loại (1 người xem)

  • Thread starter Thread starter bs2
  • Ngày gửi Ngày gửi

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

Tôi tuân thủ nội quy khi đăng bài

bs2

Thành viên mới
Tham gia
31/8/20
Bài viết
16
Được thích
13
Em xin được mô tả nội dung như sau:
Tại sheet DATA:
Ví dụ: HS có tên là A; có ngày sinh: 20/12/2015; giới tính nam ( Giới tính nhập thủ công); khi nhập được ngày sinh vào ô thì ở ô C10 tự động nhảy ra tuổi ở ô E10. đó là 10 tuổi. Khi nhập chỉ số : “Lực bóp tay thuận” ta đo được vào ô F10 ví dụ là 9 ; khi đó tại ô G10 trả về kết quả : “Chưa đạt”; là vì dữ liệu này được đối chiếu với bảng Nam tại Sheet TC dành cho Nam ở độ tuổi 10 ở C12: C13. Còn trả về cột “Xếp loại” KHÔNG ĐẠT thì chỉ số này ghi nhận nằm dưới mức đạt; ví dụ: như trường hợp trên của HS A mà ta đo được chỉ là 9 kg; so với mức ĐẠT là Phải lớn hơn hoặc bằng 15,9Kg do đó nó hiện ra ở cột xếp loại Không đạt. ( Dữ liệu được đối chiếu sang bảng Nam, độ tuổi 10, ở sheet TC)
Cứ như vậy nhập số liệu ở các cột tiêu chí tiếp theo đều được trả về cột “Xếp loại” bên cạnh với các mức được tự động đối chiếu với bảng dữ liệu dành cho Nam, Nữ tại sheet TC.

Em/cháu nhờ các bác, chú, các anh chị viết giúp công thức ạ. file mẫu em/cháu đính kèm phía dưới.
 

File đính kèm

Sheet TC chua duoc sap xep hop ly, vi du:
Tai 1 o:
>=10,5
o nay rat kho de lay ra thong tin mong muon
Ban nen tach ra 1 cot chua toan tu so sanh, 1 cot chua gia tri
VD: S1 = ">=" va T1 = 10.5
Luu y 10.5 voi so thap phan theo dung nhu tren setting cua ban
Con neu muon giu nhu hien tai thi nen dung VBA
(Xin loi ban phim vni minh bi hu nen khong go tieng Viet duoc)
 
Sheet TC chua duoc sap xep hop ly, vi du:
Tai 1 o:
>=10,5
o nay rat kho de lay ra thong tin mong muon
Ban nen tach ra 1 cot chua toan tu so sanh, 1 cot chua gia tri
VD: S1 = ">=" va T1 = 10.5
Luu y 10.5 voi so thap phan theo dung nhu tren setting cua ban
Con neu muon giu nhu hien tai thi nen dung VBA
(Xin loi ban phim vni minh bi hu nen khong go tieng Viet duoc)
dạ vâng, nếu bác có thể giúp bằng code vba cũng được ạ
 
Em xin được mô tả nội dung như sau:
Tại sheet DATA:
Ví dụ: HS có tên là A; có ngày sinh: 20/12/2015; giới tính nam ( Giới tính nhập thủ công); khi nhập được ngày sinh vào ô thì ở ô C10 tự động nhảy ra tuổi ở ô E10. đó là 10 tuổi. Khi nhập chỉ số : “Lực bóp tay thuận” ta đo được vào ô F10 ví dụ là 9 ; khi đó tại ô G10 trả về kết quả : “Chưa đạt”; là vì dữ liệu này được đối chiếu với bảng Nam tại Sheet TC dành cho Nam ở độ tuổi 10 ở C12: C13. Còn trả về cột “Xếp loại” KHÔNG ĐẠT thì chỉ số này ghi nhận nằm dưới mức đạt; ví dụ: như trường hợp trên của HS A mà ta đo được chỉ là 9 kg; so với mức ĐẠT là Phải lớn hơn hoặc bằng 15,9Kg do đó nó hiện ra ở cột xếp loại Không đạt. ( Dữ liệu được đối chiếu sang bảng Nam, độ tuổi 10, ở sheet TC)
Cứ như vậy nhập số liệu ở các cột tiêu chí tiếp theo đều được trả về cột “Xếp loại” bên cạnh với các mức được tự động đối chiếu với bảng dữ liệu dành cho Nam, Nữ tại sheet TC.

Em/cháu nhờ các bác, chú, các anh chị viết giúp công thức ạ. file mẫu em/cháu đính kèm phía dưới.
Nếu chấp nhận làm bằng VBA thì có thể tham khảo code trong file đính kèm sau:
+Dùng 1 hàm tự tạo để tính cho các ô.
File của bạn dòng tiêu đề của sheet DANHGIA khác quá nhiều với tiêu đề của Sheet TC.
Công thức (hàm UDF) ở các ô G10,I10,K10,... có cú pháp G10=XepLoai($E10,$D10,$F$9,$F10), nhấn enter để được kết quả. Copy cho các ô còn lại.
 

File đính kèm

Nếu chấp nhận làm bằng VBA thì có thể tham khảo code trong file đính kèm sau:
+Dùng 1 hàm tự tạo để tính cho các ô.
File của bạn dòng tiêu đề của sheet DANHGIA khác quá nhiều với tiêu đề của Sheet TC.
Công thức (hàm UDF) ở các ô G10,I10,K10,... có cú pháp G10=XepLoai($E10,$D10,$F$9,$F10), nhấn enter để được kết quả. Copy cho các ô còn lại.
Dạ vâng, do sơ xuất lúc e đưa nội dung chưa được thống nhất tiêu đề ở 2 sheet ạ
Bài đã được tự động gộp:

Nếu chấp nhận làm bằng VBA thì có thể tham khảo code trong file đính kèm sau:
+Dùng 1 hàm tự tạo để tính cho các ô.
File của bạn dòng tiêu đề của sheet DANHGIA khác quá nhiều với tiêu đề của Sheet TC.
Công thức (hàm UDF) ở các ô G10,I10,K10,... có cú pháp G10=XepLoai($E10,$D10,$F$9,$F10), nhấn enter để được kết quả. Copy cho các ô còn lại.
Báo cáo bác, độ tuổi khi em làm bảng thống kê này nhiều đối tượng ở các độ tuổi khác nhau trên 1 danh sách, trong đó có cả nam và nữ , mà trong đó Nam nữ có các tiêu chí khác nhau trong cùng 1 độ tuổi ạ. ý của em là ở đây các số liệu được nhập vào thủ công ( F10, H10, J10, L10, N10,P10). Khi nhập số liệu song ở các cột này thì các cột "Xếp loại" bên cạnh tự động nhảy ra kết quả ( Tốt, Đạt) 1 cách tự động. vì nó được đối chiếu với độ tuổi đó ở bảng bên Sheet TC ạ
 
Lần chỉnh sửa cuối:
Dạ vâng, do sơ xuất lúc e đưa nội dung chưa được thống nhất tiêu đề ở 2 sheet ạ
Bài đã được tự động gộp:


Báo cáo bác, độ tuổi khi em làm bảng thống kê này nhiều đối tượng ở các độ tuổi khác nhau trên 1 danh sách, trong đó có cả nam và nữ , mà trong đó Nam nữ có các tiêu chí khác nhau trong cùng 1 độ tuổi ạ. ý của em là ở đây các số liệu được nhập vào thủ công ( F10, H10, J10, L10, N10,P10). Khi nhập số liệu song ở các cột này thì các cột "Xếp loại" bên cạnh tự động nhảy ra kết quả ( Tốt, Đạt) 1 cách tự động. vì nó được đối chiếu với độ tuổi đó ở bảng bên Sheet TC ạ
Tôi thực sự không hiểu bạn muốn gì?
Vấn đề là bạn đã thử chạy công thức (hàm UDF) trên file tôi gửi chưa? và nó có ra kết quả như ý định không hay là ra sai?
Và nếu sai thì kết quả phải như nào mới là đúng?
+hàm UDF (xepLoai có 4 tham số(Tuoi, Giới tính, Môn kiêm tra, Thành tich), nếu thiếu 1 trong 4 tham số này sẽ không ra kết quả.
Trên file tôi gửi: đã có các công thức (hàm UDF XepLoai=...) ở dòng đầu tiên rồi Bạn chỉ việc copy và paste vào các ô còn lại sau đó bạn gõ tên HS, Ngày tháng năm sinh xong thì ô tuổi đã có kết quả, Tiếp theo chọn Giới tính, và nhập kết quả (thành tích) vào các cột (môn :Lực bóp..., gập bụng......) thì ô xếp loại đã có ngay kết quả được lấy từ bảng TC sang. Các trường hợp dưới 6 tuổi và trên 20 tuổi (Không XL), nếu thành tích dưới ngưỡng thì cho luôn kết quả (KHÔNG ĐẠT).
Muốn nó tự nhảy ra kết quả thì bạn phải copy và paste công thức (XepLoai=( , , ,....)) như tôi noi trên thì mới có kết quả được.
 
Em xin được mô tả nội dung như sau:
Tại sheet DATA:
Ví dụ: HS có tên là A; có ngày sinh: 20/12/2015; giới tính nam ( Giới tính nhập thủ công); khi nhập được ngày sinh vào ô thì ở ô C10 tự động nhảy ra tuổi ở ô E10. đó là 10 tuổi. Khi nhập chỉ số : “Lực bóp tay thuận” ta đo được vào ô F10 ví dụ là 9 ; khi đó tại ô G10 trả về kết quả : “Chưa đạt”; là vì dữ liệu này được đối chiếu với bảng Nam tại Sheet TC dành cho Nam ở độ tuổi 10 ở C12: C13. Còn trả về cột “Xếp loại” KHÔNG ĐẠT thì chỉ số này ghi nhận nằm dưới mức đạt; ví dụ: như trường hợp trên của HS A mà ta đo được chỉ là 9 kg; so với mức ĐẠT là Phải lớn hơn hoặc bằng 15,9Kg do đó nó hiện ra ở cột xếp loại Không đạt. ( Dữ liệu được đối chiếu sang bảng Nam, độ tuổi 10, ở sheet TC)
Cứ như vậy nhập số liệu ở các cột tiêu chí tiếp theo đều được trả về cột “Xếp loại” bên cạnh với các mức được tự động đối chiếu với bảng dữ liệu dành cho Nam, Nữ tại sheet TC.

Em/cháu nhờ các bác, chú, các anh chị viết giúp công thức ạ. file mẫu em/cháu đính kèm phía dưới.
Sheet TC, chuyển dữ liệu về dạng số
công thức sheet DanhGia
Mã:
G10 =IF(OR($D10="",$E10="",F10=""),"",IF(F10>OFFSET(TC!$A$4,($E10-6)*2,COLUMN(D1)/2+($D10="Nữ")*9),"Tốt",IF(F10>=OFFSET(TC!$A$4,($E10-6)*2+1,COLUMN(D1)/2+($D10="Nữ")*9),"Đạt","Không đạt")))
Copy công thức cho các ô của cột G, I, K
Mã:
M10 =IF(OR($D10="",$E10="",L10=""),"",IF(L10<OFFSET(TC!$A$4,($E10-6)*2,COLUMN(J1)/2+($D10="Nữ")*9),"Tốt",IF(L10<=OFFSET(TC!$A$4,($E10-6)*2+1,COLUMN(J1)/2+($D10="Nữ")*9),"Đạt","Không đạt")))
Copy công thức cho các ô của cột M, O, Q
 

File đính kèm

Tôi thực sự không hiểu bạn muốn gì?
Vấn đề là bạn đã thử chạy công thức (hàm UDF) trên file tôi gửi chưa? và nó có ra kết quả như ý định không hay là ra sai?
Và nếu sai thì kết quả phải như nào mới là đúng?
+hàm UDF (xepLoai có 4 tham số(Tuoi, Giới tính, Môn kiêm tra, Thành tich), nếu thiếu 1 trong 4 tham số này sẽ không ra kết quả.
Trên file tôi gửi: đã có các công thức (hàm UDF XepLoai=...) ở dòng đầu tiên rồi Bạn chỉ việc copy và paste vào các ô còn lại sau đó bạn gõ tên HS, Ngày tháng năm sinh xong thì ô tuổi đã có kết quả, Tiếp theo chọn Giới tính, và nhập kết quả (thành tích) vào các cột (môn :Lực bóp..., gập bụng......) thì ô xếp loại đã có ngay kết quả được lấy từ bảng TC sang. Các trường hợp dưới 6 tuổi và trên 20 tuổi (Không XL), nếu thành tích dưới ngưỡng thì cho luôn kết quả (KHÔNG ĐẠT).
Muốn nó tự nhảy ra kết quả thì bạn phải copy và paste công thức (XepLoai=( , , ,....)) như tôi noi trên thì mới có kết quả được.
Dạ vâng, công thức hôm qua nó không chạy đúng ở ô xếp loại, có vẻ như nó không nhận ra các dấu( >, <..), ạ.
Bài đã được tự động gộp:

Sheet TC, chuyển dữ liệu về dạng số
công thức sheet DanhGia
Mã:
G10 =IF(OR($D10="",$E10="",F10=""),"",IF(F10>OFFSET(TC!$A$4,($E10-6)*2,COLUMN(D1)/2+($D10="Nữ")*9),"Tốt",IF(F10>=OFFSET(TC!$A$4,($E10-6)*2+1,COLUMN(D1)/2+($D10="Nữ")*9),"Đạt","Không đạt")))
Copy công thức cho các ô của cột G, I, K
Mã:
M10 =IF(OR($D10="",$E10="",L10=""),"",IF(L10<OFFSET(TC!$A$4,($E10-6)*2,COLUMN(J1)/2+($D10="Nữ")*9),"Tốt",IF(L10<=OFFSET(TC!$A$4,($E10-6)*2+1,COLUMN(J1)/2+($D10="Nữ")*9),"Đạt","Không đạt")))
Copy công thức cho các ô của cột M, O, Q
Dạ vâng, để em xem rồi nhắn lại kết quả ạ
 
Sheet TC, chuyển dữ liệu về dạng số
công thức sheet DanhGia
Mã:
G10 =IF(OR($D10="",$E10="",F10=""),"",IF(F10>OFFSET(TC!$A$4,($E10-6)*2,COLUMN(D1)/2+($D10="Nữ")*9),"Tốt",IF(F10>=OFFSET(TC!$A$4,($E10-6)*2+1,COLUMN(D1)/2+($D10="Nữ")*9),"Đạt","Không đạt")))
Copy công thức cho các ô của cột G, I, K
Mã:
M10 =IF(OR($D10="",$E10="",L10=""),"",IF(L10<OFFSET(TC!$A$4,($E10-6)*2,COLUMN(J1)/2+($D10="Nữ")*9),"Tốt",IF(L10<=OFFSET(TC!$A$4,($E10-6)*2+1,COLUMN(J1)/2+($D10="Nữ")*9),"Đạt","Không đạt")))
Copy công thức cho các ô của cột M, O, Q
Cám ơn bác, vấn đề của em đã được giải quyết rồi ạ.
 
Dạ vâng, công thức hôm qua nó không chạy đúng ở ô xếp loại, có vẻ như nó không nhận ra các dấu( >, <..), ạ.
Code trong file đã tách lấy phần số trong các chuỗi có các dấu "<+,>=<,>,<" rồi mà. Dòng có hàm UDF tôi gửi đã có kết quả mà, chả lẽ các dòng sau sai. Lạ nhỉ?
 

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

Back
Top Bottom