Nhờ các bạn xem dùm công thức tôi dùng nó sai chỗ nào?

Liên hệ QC

havietchuong

Thành viên tiêu biểu
Tham gia
16/6/09
Bài viết
490
Được thích
570
Giới tính
Nam
Nghề nghiệp
Giáo viên tiểu học.
Nhờ các bạn xem dùm công thức tôi dùng nghĩ là đúng nhưng nó báo sai ở những ô tô màu hay các bạn giới thiệu giúp công thức nào gọn hơn. Chân thành cám ơn.
Ghi chú: sheet (DSHS) cột Xếp loại (O)
 

File đính kèm

  • SLL_Danh gia cuoi HK1_trang 10.xls
    349 KB · Đọc: 13
Bạn thử thêm hàm value thử: d2=VALUE(VLOOKUP(C2,TENHS1,2,0))
 

File đính kèm

  • SLL_Danh gia cuoi HK1_trang 10.xls
    356.5 KB · Đọc: 12
Lần chỉnh sửa cuối:
Nói thêm đây là bảng của người em nhờ mình giúp. Với file của bạn andredat là đạt yêu cầu nhưng khi trên chính file đó (vẫn giữ nguyên các cột thì nó vẫn sai như ban đầu). Không biết lỗi này là do chỗ nào mong các bạn chỉ giúp.
 
Bạn thử thêm hàm value thử: d2=VALUE(VLOOKUP(C2,TENHS1,2,0)). Tương tự cho các ô f2,h2,j2,l2,n2. Chỉ vậy thôi.
Tại mình muốn mở rộng thêm tí ấy mà. Mình còn định làm thế này nữa: d2=VALUE(VLOOKUP(ROW()-1,TENHS1,2,0)).
 
Nói thêm đây là bảng của người em nhờ mình giúp. Với file của bạn andredat là đạt yêu cầu nhưng khi trên chính file đó (vẫn giữ nguyên các cột thì nó vẫn sai như ban đầu). Không biết lỗi này là do chỗ nào mong các bạn chỉ giúp.

Bạn dùng CT này tại cột O:
Mã:
=LOOKUP(SMALL(D2:N2*MOD(COLUMN(D2:N2)+1,2),6),{4,5,7,9},{"Y","TB","K","G"})

Công thức mảng nên nhớ ấn 3 phím ctrl+shift+enter
 
Thấy bất tiện, tôi chép các cột điểm sang từ Q đến V, sử dụng công thức của andredat thì vẫn bị lỗi ở những ô tôi sơn màu nhưng khi gõ trực tiếp số điểm vào ô có điểm nhỏ nhất làm ảnh hưởng đến xếp loại thì công thức nó đúng. Nhờ các bạn chỉ giúp cách khắc phục. Cám ơn.
 

File đính kèm

  • SLL_Danh gia cuoi HK1_trang 10(b).xls
    368.5 KB · Đọc: 4
Thấy bất tiện, tôi chép các cột điểm sang từ Q đến V, sử dụng công thức của andredat thì vẫn bị lỗi ở những ô tôi sơn màu nhưng khi gõ trực tiếp số điểm vào ô có điểm nhỏ nhất làm ảnh hưởng đến xếp loại thì công thức nó đúng. Nhờ các bạn chỉ giúp cách khắc phục. Cám ơn.

Sai chổ nào thế bạn, mình tưởng kết quả đúng theo yêu cầu rồi. Yêu cầu của bạn có phải:

Tất cả >= 9 thì G, Nếu có điểm nhỏ nhất = 7 hoặc = 8 thì là K, Nếu có điểm nhỏ nhất = 5 hoặc 6 thì là TB, còn nếu có điểm dưới 5 thì là Y.

Vậy thì kq đúng rồi còn chi nữa
 
Thấy bất tiện, tôi chép các cột điểm sang từ Q đến V, sử dụng công thức của andredat thì vẫn bị lỗi ở những ô tôi sơn màu nhưng khi gõ trực tiếp số điểm vào ô có điểm nhỏ nhất làm ảnh hưởng đến xếp loại thì công thức nó đúng. Nhờ các bạn chỉ giúp cách khắc phục. Cám ơn.
"Bi giờ" nói từ đầu và ....từ từ nhé anh:
1) Trong 6 bảng anh dùng để làm cái "Table_array" cho hàm Vlookup ở các cột D, F, H, J, L, N chỉ có 2 bảng ở cột L & N cho kết quả là "số" còn lại bi nhiêu hổng phải là số. Cụ thể: cột D của sheet "AV" (bảng TENHS9) và cột D của sheet "T.H" (bảng TENHS11) có dữ liệu kiểu "số", tất cả bảng còn lại cột D hổng phải kiểu "số"
2) Anh dùng công thức ở [O2] sheet DSHS như sau:
=IF(AND(D2>=9,F2>=9,H2>=9,J2>=9,L2>=9,N2>=9),"G",IF(AND(D2>=7,F2>=7,H2>=7,J2>=7,L2>=7,N2>=7),"K",IF(AND(D2>=5,F2>=5,H2>=5,J2>=5,L2>=5,N2>=5),"TB","Y")))
Sẽ cho ra kết quả "G" thay vì "K" ==> nguyên nhân:
(L2=10) >= 9 ==> TRUE
(N2=9) >= 9 ==> TRUE
Các cell D2, F2, H2, J2 là kiểu "Text" so sánh với 9 (kiểu số) thì tụi nó .....lớn hơn ==> 4 thằng đó đều TRUE
Túm lại, IF(AND(... thỏa ngay điều kiện đầu tiên _ cả 6 thằng đều TRUE_ nên nó gán kết quả là "G" là đúng thôi, không trách nó được
Các cell bên dưới cũng bị tương tự
Cách sửa:
Cách 1: Vào các sheet hông phải tên "AV" & "T.H", tại cột [D] sửa mấy ông nhìn tưởng là "số" mà hông phải là "số" cho mấy ổng thành "số", giữ nguyên công thức của anh
Cách 2: Chuyển kết quả của công thức Vlookup ở sheet "DSHS" thành kiểu "số", giữ nguyên công thức của anh
Cách 3: Giữ nguyên hiện trang dùng công thức mảng xử nó, công thức của bạn khuongvietphong là một cách ( công thức ngắn ngủn, nhìn đã luôn)
Thân
 
"Bi giờ" nói từ đầu và ....từ từ nhé anh:
1) Trong 6 bảng anh dùng để làm cái "Table_array" cho hàm Vlookup ở các cột D, F, H, J, L, N chỉ có 2 bảng ở cột L & N cho kết quả là "số" còn lại bi nhiêu hổng phải là số. Cụ thể: cột D của sheet "AV" (bảng TENHS9) và cột D của sheet "T.H" (bảng TENHS11) có dữ liệu kiểu "số", tất cả bảng còn lại cột D hổng phải kiểu "số"
2) Anh dùng công thức ở [O2] sheet DSHS như sau:

Sẽ cho ra kết quả "G" thay vì "K" ==> nguyên nhân:
(L2=10) >= 9 ==> TRUE
(N2=9) >= 9 ==> TRUE
Các cell D2, F2, H2, J2 là kiểu "Text" so sánh với 9 (kiểu số) thì tụi nó .....lớn hơn ==> 4 thằng đó đều TRUE
Túm lại, IF(AND(... thỏa ngay điều kiện đầu tiên _ cả 6 thằng đều TRUE_ nên nó gán kết quả là "G" là đúng thôi, không trách nó được
Các cell bên dưới cũng bị tương tự
Cách sửa:
Cách 1: Vào các sheet hông phải tên "AV" & "T.H", tại cột [D] sửa mấy ông nhìn tưởng là "số" mà hông phải là "số" cho mấy ổng thành "số", giữ nguyên công thức của anh
Cách 2: Chuyển kết quả của công thức Vlookup ở sheet "DSHS" thành kiểu "số", giữ nguyên công thức của anh
Cách 3: Giữ nguyên hiện trang dùng công thức mảng xử nó, công thức của bạn khuongvietphong là một cách ( công thức ngắn ngủn, nhìn đã luôn)
Thân

Qua ý kiến của bạn concogia mói hiểu thêm chuyện là như vậy. Do chưa đủ kinh nghiệm nên khi mắc phải chưa biết cách tìm hiểu nguyên nhân gây ra. Nhờ bạn chỉ thêm cách để nhận biết định dạng đó không phải là số ta làm thế nào? Cám ơn nhiều.
Thân.
 
Qua ý kiến của bạn concogia mói hiểu thêm chuyện là như vậy. Do chưa đủ kinh nghiệm nên khi mắc phải chưa biết cách tìm hiểu nguyên nhân gây ra. Nhờ bạn chỉ thêm cách để nhận biết định dạng đó không phải là số ta làm thế nào? Cám ơn nhiều.
Thân.
Có vài cách, thí dụ ở [A1] có dữ liệu là 9
1) Dùng hàm =N(A1) nếu kết quả là 0 (zero) thì dữ liệu trong [A1] không phải dữ liệu "số"
2) Dùng hàm =ISNUMBER(A1) nếu kết quả là FALSE thì dữ liệu trong [A1] không phải dữ liệu "số"
3) Dùng hàm =ISTEXT(A1) nếu kết quả là TRUE thì dữ liệu trong [A1] không phải dữ liệu "số"
...
Thân
 
Một cách khác dùng hàm CHOOSE:

Tại O2:

Mã:
=IFERROR(CHOOSE(MAX(IF($D$1:$N$1<>"",11-$D2:$N2,"")),"G","G","K","K","TB","TB"),"Y")

Ctrl-shift-enter

Còn nếu bác havietchuong muốn đổi tất cả số dạng TEXT sang dạng số thì cộng thêm 0 vào tất cả các ô như sau:

Tại ô trống bất kỳ, VD ô Q1, gõ số 0, sau đó gõ Ctrl-C (Copy)
Quét chọn vùng D2:N52
Vào Menu Home, chọn Paste/Paste Special
Trong vùng chon Paste, chọn Value
Trong vùng chọn Operation, chọn Add
OK

Như vậy mỗi ô trong vùng D2:N52 đã tự động công thêm số 0 vào công thức có sẵn, khi đó TEXT đã được chuyển thành số
 
Web KT
Back
Top Bottom