Một công thức bảng tính để gán các lớp chữ dựa trên phạm vi số


8

Tôi đang cố gắng tìm ra cách viết một câu lệnh IF sẽ là 'true' nếu một giá trị nằm giữa hai giá trị.

Thí dụ:

Nếu giá trị nằm trong khoảng từ 60 đến 69,9, hãy trả về "D"

Nếu giá trị nằm trong khoảng từ 70 đến 79,9, hãy trả về "C"

Nếu giá trị nằm trong khoảng từ 80 đến 89,9, hãy trả về "B"

Tôi có cái này, nhưng tôi không thể tìm ra cách sửa đổi nó để bài kiểm tra nằm giữa thay vì nhỏ hơn hoặc lớn hơn.

=IF(A1<60, "F", IF(A1>60, "A", 0))

Câu trả lời:


7

Giữ các dấu hiệu bất bình đẳng đi theo cùng một hướng:

=IF(A1<60, "F", IF(A1<70, "D", IF(A1<80, "C", IF(A1<90, "B", "A"))))

Ở trên hoạt động tốt miễn là không có quá nhiều trường hợp. Nhưng nếu bạn có nhiều tùy chọn, C-, C +, B-, B + ... sẽ tốt hơn nếu sử dụng bảng tra cứu thay thế. Ví dụ: nếu bạn có bảng tra cứu như bảng bên dưới, thì

=vlookup(A1, $K$1:$L$5) 

thực hiện công việc tương tự như IFs lồng nhau. Bảng cũng dễ bảo trì hơn trong trường hợp thay đổi: ví dụ: bạn đã quyết định chuyển một số điểm ngắt.

+---+----+---+
|   | K  | L |
+---+----+---+
| 1 |  0 | F |
| 2 | 60 | D |
| 3 | 70 | C |
| 4 | 80 | B |
| 5 | 90 | A |
+---+----+---+

Không phải là một đối số thứ ba cần thiết để vlookup trong Google Docs?
Ellen Spertus

2

Một giải pháp khác, được lấy từ Diễn đàn trợ giúp của Google Docs , duy trì các điểm giới hạn trực tiếp trong công thức, do đó sẽ loại bỏ việc duy trì chúng một cách riêng biệt.

Đối với các điểm giới hạn được xác định trong OP, công thức là

=VLOOKUP($A1,{0,"F";60,"D";70,"C";80,"B";90,"A"},2)

Thay đổi các điểm giới hạn có thể có vẻ rườm rà bây giờ nhưng có thể được thực hiện một cách hiệu quả như sau. Thay đổi các điểm giới hạn trong công thức trong ô trên cùng và sau đó fill downbằng cách thực hiện một CMD-Dhoặc CTRL-Dtùy thuộc vào nền tảng của bạn.


2

Tôi đã sửa đổi các điểm giới hạn của @ wsaleem để bao gồm - / + điểm (theo thang điểm tại trường đại học của tôi):

=VLOOKUP(BB2,{0,"F";60,"D-";63,"D";68,"D+";70,"C-";73,"C";78,"C+";80,"B-";83,"B";88,"B+";90,"A-";93,"A"},2)

Đảm bảo ROUND () giá trị đầu vào của bạn. Tôi đã sử dụng AVERAGE () và mặc dù trường được làm tròn rõ ràng, nhưng giá trị thì không.


Tôi đang cố gắng chuyển đổi một lớp thư thành số GPA. Tôi đã thử VLOOKUP sau đây, khi lớp chữ nằm trong cột O: = vlookup ($ O2, {F, "0"; D, "1.0"; C -, "1.67"; C, "2.0"; C +, " 2,33 "; B -," 2,67 "; B," 3.0 "; B +," 3.33 "; A -," 3.67 "; A," 4.0 "} 2) Tôi không thực sự biết mình đang làm gì. Cái gì là "2" cuối cùng sau dấu ngoặc cuối, nhưng trước dấu ngoặc đơn?
205307

Bạn đang thiếu dấu phẩy giữa phạm vi và 2 (đây là các tham số được phân tách bằng dấu phẩy). Kiểm tra các tài liệu hướng dẫn support.google.com/docs/answer/3093318?hl=en
ow3n
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.