Những vấn đề về hàm IF

Liên hệ QC
Status
Không mở trả lời sau này.
Hôm trước tôi có vọc được công thức hàm if rất hay trên diễn đàn.
Mục đích; tính giá trị với nhiều điều kiện khép kín như:
Vd: xếp hạng học sinh.
Trên 9.0 xuất xắc
8.5-9 ---> quá giỏi
8.0-8.5 ---> giỏi
6.5-7.9 ---> khá
dưới 6.5 --->TB
giải
if(A>9,"xuất xắc",if(8.5A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A<6.5,TB)))))
cứ như vậy mình có thể áp dụng trên mọi trường hợp.
Có gì cần trao đổi thêm về nghiệp vụ xin liên hệ
http://www.trungtamtaichinh.info

Bạn vui thật:
có thể áp dụng trên mọi trường hợp.
thì không dám chắc đâu?
Với kiểu cấu trúc trên, Bạn thử làm cái này xem:
>9.5-10 -> Quá xuất sắc
>9-9.5 -> Xuất sắc
>8.5-9 -> Quá giỏi
>>8-8.5 -> Giỏi
>7.5-8 -> Quá khá
>7-7.5 -> Khá
>6.5-7 -> Quá trung bình
>6-6.5 -> Chuẩn trung bình
>=5-6 -> Trung bình
>3- <5 -> Yếu
<=3 -> Kém
 
hôm trước tôi có vọc được công thức hàm if rất hay trên diễn đàn.
Mục đích; tính giá trị với nhiều điều kiện khép kín như:
Vd: Xếp hạng học sinh.
Trên 9.0 xuất xắc
8.5-9 ---> quá giỏi
8.0-8.5 ---> giỏi
6.5-7.9 ---> khá
dưới 6.5 --->tb
giải
if(a>9,"xuất xắc",if(8.5a<9,"quá gioi",if(8<a<8.5,"giỏi",if(6.5<a<7.9,"khá",if(a<6.5,tb)))))
cứ như vậy mình có thể áp dụng trên mọi trường hợp.
Có gì cần trao đổi thêm về nghiệp vụ xin liên hệ
http://www.trungtamtaichinh.info
nếu như công thức của bạn thì tôi chỉ cần 0.01 điểm là đạt trung bình đấy nha
 
thang24 đã viết:
if(A>9,"xuất xắc",if(8.5A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A <6.5,TB)))))
hình như thiếu 1 cái dấu "<":

if(A>9,"xuất xắc",if(8.5<A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A <6.5,TB)))))


Mà kể cả đủ như trên, có chạy được đâu mà "hợp lý hợp hoá", 2 If cũng hông chạy chứ đừng nói 7 If hay 9, 10 If. (theo ý đố của datbutmuc)

Mà không chạy thì có đâu mà "0.01 cũng đạt trung bình" (theo ý sửa lỗi của LeDuyThuong)

Vấn đề nằm ở chỗ anh Bill đọc hông hiểu cấu trúc: 8.5<A<9
 
Lần chỉnh sửa cuối:
hình như thiếu 1 cái dấu "<":

if(A>9,"xuất xắc",if(8.5<A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A <6.5,TB)))))


Mà kể cả đủ như trên, có chạy được đâu mà "hợp lý hợp hoá", 2 If cũng hông chạy chứ đừng nói 7 If hay 9, 10 If. (theo ý đố của datbutmuc)

Mà không chạy thì có đâu mà "0.01 cũng đạt trung bình" (theo ý sửa lỗi của LeDuyThuong)

Vấn đề nằm ở chỗ anh Bill đọc hông hiểu cấu trúc: 8.5<A<9
Cảm ơn bác
sao tác giả không làm thế này nhỉ
=IF(A11>9,"xuất xắc",IF(A11>=9,"quá giỏi",IF(A11>=8,"giỏi",IF(A11>=6.5,"Khá",IF(A11>=5,"TB","yếu")))))
 
=IF(A11>9,"xuất xắc",IF(A11>=9,"quá giỏi",IF(A11>=8,"giỏi",IF(A11>=6.5,"Khá",IF(A 11>=5,"TB","yếu")))))
Nếu làm như thế thì 9.1 là "xuất xắc" hay "quá giỏi"?
Theo cấu trúc hàm If này, 9.1 sẽ là "xuất xắc" (chữ x là nguyên tác của tác giả, ngay cả tôi cũng copy mà không để ý)
Vì anh Bill lấy điều kiện (logical_test) bắt đầu từ If ngoài cùng vào. Nếu false mới xét điều kiện kế. True thì lụm kết quả và thoát ra luôn.
 
Lần chỉnh sửa cuối:
Theo cấu trúc hàm If này, 9.1 sẽ là "xuất xắc" (chữ x là nguyên tác của tác giả, ngay cả tôi cũng copy mà không để ý)
Vì anh Bill lấy điều kiện (logical_test) bắt đầu từ If ngoài cùng vào. Nếu false mới xét điều kiện kế. True thì lụm kết quả và thoát ra luôn.
Đúng là Bác Bill thông minh, Tôi chỉ nhìn công thức và nghĩ đến 2 điều kiện: Lớn hơn 9 --> "xuất sắc", Lớn hơn hoặc bằng 9 --> "quá giỏi". Nếu dịch bằng câu văn thì có vẻ không logic lắm, bỏ đi dấu > ở điều kiện sau thì đúng hơn.
 
THeo tôi nghĩ thì Lê Duy Thương định làm vầy:

=IF(A11>9.5,"xuất sắc",IF(A11>=9,"quá giỏi", . . .

Nhưng gõ sót.
 
rất cảm ơn su trao đổi của các bạn, ở đây mình đưa ra cấu trúc để các bạn áp dụng trong mọi trươg hợp thôi.
Nhưng do mình ko copy !từ excel ra mà gõ thẳng vào nên thiếu xót. thành thật mong sự thông cảm

----------------
www.trungtamtaichinh.info
 
Theo em thì nên làm như thế này:
=If(A>9,"xuất sắc",if(A>8.5,"quá giỏi",if(A>8,"giỏi",if(A>6.5,"Khá","TB"))))
không nhất thiết phải làm điều kiện 2 đầu như kiểu =if(A>9,"xuất sắc",if(8.5<A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A <6.5,TB))))).
 
Theo em thì nên làm như thế này:
=If(A>9,"xuất sắc",if(A>8.5,"quá giỏi",if(A>8,"giỏi",if(A>6.5,"Khá","TB"))))
không nhất thiết phải làm điều kiện 2 đầu như kiểu =if(A>9,"xuất sắc",if(8.5<A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A <6.5,TB))))).
---------
Bạn chưa xem hết các bài bên trên?
Bài #944
hình như thiếu 1 cái dấu "<":

if(A>9,"xuất xắc",if(8.5<A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A <6.5,TB)))))

Mà kể cả đủ như trên, có chạy được đâu mà "hợp lý hợp hoá", 2 If cũng hông chạy chứ đừng nói 7 If hay 9, 10 If. (theo ý đố của datbutmuc)

Mà không chạy thì có đâu mà "0.01 cũng đạt trung bình" (theo ý sửa lỗi của LeDuyThuong)

Vấn đề nằm ở chỗ anh Bill đọc hông hiểu cấu trúc: 8.5<A<9
Công thức của Bạn thì nếu < 6.5 xếp TB, 0.0 cũng TB luôn?
 
Theo em thì nên làm như thế này:
=If(A>9,"xuất sắc",if(A>8.5,"quá giỏi",if(A>8,"giỏi",if(A>6.5,"Khá","TB"))))
không nhất thiết phải làm điều kiện 2 đầu như kiểu =if(A>9,"xuất sắc",if(8.5<A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A <6.5,TB))))).
"Không nhất thiết" à? Nghĩa là không cần, nghĩa là nếu có làm thì chỉ là dư thôi, chứ vẫn đúng?

Chính xác, phải nói là: "Không bao giờ được làm như thế", bởi vì Excel không bao giờ hiểu được kiểu viết ấy!
 
Mình xin chốt lại!

=IF(E10>9,"xuất xắc",IF(E10>=8.5,"quá giỏi",IF(E10>=8,"giỏi",IF(E10>=6.5,"khá","trung bình"))))

đấy trên cơ sở đó các bác cứ triển khai như vậy!
nếu cần trao đổi thêm anh em cùng post cho rõ.


--------
www.trungtamtaichinh.info
 
Mình xin chốt lại!

=IF(E10>9,"xuất xắc",IF(E10>=8.5,"quá giỏi",IF(E10>=8,"giỏi",IF(E10>=6.5,"khá","trung bình"))))

đấy trên cơ sở đó các bác cứ triển khai như vậy!
nếu cần trao đổi thêm anh em cùng post cho rõ.
Đã chốt rồi thì triển khai nữa là sao?
Như vầy được không:
=CHOOSE(((E10>9)+(E10>=8,5)+(E10>=8)+(E10>=6,5)+(E10>=0));"TB";"Khá";"Giỏi";"Quá Giỏi";"Xuất sắc")
 
Lính mới hỏi về 1 câu hỏi về hàm If trong excel

chào các bạn,mình mới gia nhập để hiểu về excel vì quả thực mình rất gà về cái này
mình đang làm 1 số bài tập để chuẩn bị thi .nhưng mà khó quá( có lẽ ở đây 1 số bạn thấy dễ)
mong các bạn giúp mình 1 vài câu hỏi nhé
Cảm ơn nhiều}}}}}
 

File đính kèm

  • Book1.xls
    15.5 KB · Đọc: 12
chào các bạn,mình mới gia nhập để hiểu về excel vì quả thực mình rất gà về cái này
mình đang làm 1 số bài tập để chuẩn bị thi .nhưng mà khó quá( có lẽ ở đây 1 số bạn thấy dễ)
mong các bạn giúp mình 1 vài câu hỏi nhé
Cảm ơn nhiều}}}}}
Hàm IF không khó lắm đâu. Bạn có thể "viết công thức" như là "nói" vậy.

Câu 1: Nếu là GD thì 300000, nếu là PGD thì 200000, nếu là TP thì 100000, nếu là NV và ngày công > 25 thì 50000, còn lại thì không có phụ cấp.

Chúng ta có 4 cái "nếu" trong câu trên, vậy sẽ làm 4 cái IF, cái "nếu" cuối cùng có thêm chữ "và", thì kết hợp thêm hàm AND vào:
Phụ cấp = IF(Chức vụ="GD", 300000, IF(Chức vụ="PGD", 200000, IF(Chức vụ="TP", 100000, IF(AND(Chức vụ="PGD", Ngày công>25), 50000, 0))))
Vì có 4 cái IF, nên nhớ đóng ngoặc đơn 4 cái.

Bạn hiểu rồi chứ? Việc của bạn chỉ còn là thay thế cái "Chức vụ" và "Ngày công" bằng cái ô cần phải xét đến trong bảng tính mà thôi. Tự làm nhé.



Câu 2: Lương tháng=lương ngày *ngày công,nhưng nếu ngày công >25 thì mỗi ngày cộng dư gấp đôi

Cũng y vậy, hễ thấy có nếu, thì thay nó bằng IF:
Lương tháng = Lương ngày * (Ngày công + IF(Ngày công>25, Ngày công - 25, 0))
Đương nhiên, có những cách làm ngắn hơn, nhưng do bạn nói rằng bạn là lính mới, nên tôi cố gắng trình bày ở đây cách dễ nhất.


Còn mấy cái Tính tạm ứng, Còn lại... chỉ đơn thuần là cộng trừ nhân chia, bạn làm dư sức chứ?


Tính tổng lương của những người là NV: Bạn dùng hàm SUMIF:
=SUMIF(Cột chức vụ, điều kiện, Cột Lương Tháng)
=SUMIF(C2:C7, "NV", G2:G7)


Đếm số người có ngày công > 25, thì dùng hàm COUNTIF:
=COUNTIF(Cột Ngày công, điều kiện)
=COUNTIF(E2:E7, ">=25")

Thử đi nhé. Chúc bạn thành công.
 
Hàm IF không khó lắm đâu. Bạn có thể "viết công thức" như là "nói" vậy.

Câu 1: Nếu là GD thì 300000, nếu là PGD thì 200000, nếu là TP thì 100000, nếu là NV và ngày công > 25 thì 50000, còn lại thì không có phụ cấp.

Chúng ta có 4 cái "nếu" trong câu trên, vậy sẽ làm 4 cái IF, cái "nếu" cuối cùng có thêm chữ "và", thì kết hợp thêm hàm AND vào:

Vì có 4 cái IF, nên nhớ đóng ngoặc đơn 4 cái.

Bạn hiểu rồi chứ? Việc của bạn chỉ còn là thay thế cái "Chức vụ" và "Ngày công" bằng cái ô cần phải xét đến trong bảng tính mà thôi. Tự làm nhé.



Câu 2: Lương tháng=lương ngày *ngày công,nhưng nếu ngày công >25 thì mỗi ngày cộng dư gấp đôi

Cũng y vậy, hễ thấy có nếu, thì thay nó bằng IF:

Đương nhiên, có những cách làm ngắn hơn, nhưng do bạn nói rằng bạn là lính mới, nên tôi cố gắng trình bày ở đây cách dễ nhất.


Còn mấy cái Tính tạm ứng, Còn lại... chỉ đơn thuần là cộng trừ nhân chia, bạn làm dư sức chứ?


Tính tổng lương của những người là NV: Bạn dùng hàm SUMIF:



Đếm số người có ngày công > 25, thì dùng hàm COUNTIF:


Thử đi nhé. Chúc bạn thành công.

Cảm ơn anh.....a hướng dẫn rất chi tiết ...a có thể cho em yh để e hỏi 1 số vấn đề được ko ạk
vì e đang có số bài tập phải làm..mà e thấy nó khó hiểu quá
đọc sách tham khảo rồi mà vẫn vậy .T.T
 
Cảm ơn anh.....a hướng dẫn rất chi tiết ...a có thể cho em yh để e hỏi 1 số vấn đề được ko ạk
vì e đang có số bài tập phải làm..mà e thấy nó khó hiểu quá
đọc sách tham khảo rồi mà vẫn vậy .T.T
YM của tôi chỉ để 8 thôi, bạn à, không dùng để giải đáp Excel...
Nếu bạn muốn hỏi gì, cứ hỏi ở đây (miễn là đúng nơi đúng chỗ), không có tôi thì cũng có bao nhiêu người khác sẽ giải đáp cho bạn.
Thêm nữa, nếu muốn cảm ơn ai, thì vui lòng nhấn vào cái chữ Cảm ơn nằm ngay dưới bài viết của người đó.
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom