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

Liên hệ QC
Status
Không mở trả lời sau này.
PHP:
e8=index($c$32:$e$34;match(c8;$b$32:$b$34;1);match(d8;$c$31:$e$31;0))
Công thức dài quá. Cop_kh xem cái này thử:
E8 = VLOOKUP(C8, $B$32:$E$34, CODE(D8)-63)​



Còn cái này:
PHP:
d25=sumif($d$8:$d$22;b25;e8:$e$22)
Không chính xác. Nếu kéo công thức xuống thì vùng để tính tổng (E8:E22) sẽ bị thay đổi.

Và cũng không cần chỉ ra E22 đâu, chỉ cần vầy thôi:
D25 = SUMIF($D$8:$D$22, B25, $E$8)​
 
PHP:
E8 = VLOOKUP(C8, $B$32:$E$34, CODE(D8)-63)

Em thấy Bác dùng CODE(D8)-63 cho trường hợp này cũng khá hay, nhưng không được tổng quát, em sợ nhiều bạn dễ nhầm lẫn cho các ứng dụng tương tự khi áp dụng cho bài khác. Không biết Bác có thấy thế không ạ?
 
PHP:
E8 = VLOOKUP(C8, $B$32:$E$34, CODE(D8)-63)

Em thấy Bác dùng CODE(D8)-63 cho trường hợp này cũng khá hay, nhưng không được tổng quát, em sợ nhiều bạn dễ nhầm lẫn cho các ứng dụng tương tự khi áp dụng cho bài khác. Không biết Bác có thấy thế không ạ?
OK. Là vì góp ý trực tiếp với Cop_kh (không phải tay mơ) nên mình mới đề nghị cái đó.

Tuy nhiên, không có cái nào là tổng quát hết, bởi mỗi bài toán sẽ có một cách giải khác nhau và không có bài toán nào là giống bài toán nào. Mình thì tùy vào từng bài à, và tìm một công thức ngắn nhất có thể được cho bài toán đó. Và nói thẳng ra, thì cũng không nên áp dụng một cách máy móc từ bài này sang bài kia.

Còn nếu là hướng dẫn cho một người mới làm quen với Excel, thì mình không dám đem cái CODE() đó ra mà hù đâu. Được mấy người biết đó là hàm gì? (Tin học căn bản không dạy hàm này). Và, nói thiệt, mình cũng không đem cái MATCH và INDEX ra để làm, vì nó dài, và dễ nhập sai. Mà dùng VLOOKUP bình thường, với IF kẹp trong đó, vầy nè:
E8 = VLOOKUP(C8, $B$32:$E$34, IF(D8="A", 2, IF(D8="B", 3, 4)))​
Vẫn ngắn hơn, và dễ hiểu hơn INDEX và MATCH chứ nhỉ?
 
OK. Là vì góp ý trực tiếp với Cop_kh (không phải tay mơ) nên mình mới đề nghị cái đó.

Tuy nhiên, không có cái nào là tổng quát hết, bởi mỗi bài toán sẽ có một cách giải khác nhau và không có bài toán nào là giống bài toán nào. Mình thì tùy vào từng bài à, và tìm một công thức ngắn nhất có thể được cho bài toán đó. Và nói thẳng ra, thì cũng không nên áp dụng một cách máy móc từ bài này sang bài kia.

Còn nếu là hướng dẫn cho một người mới làm quen với Excel, thì mình không dám đem cái CODE() đó ra mà hù đâu. Được mấy người biết đó là hàm gì? (Tin học căn bản không dạy hàm này). Và, nói thiệt, mình cũng không đem cái MATCH và INDEX ra để làm, vì nó dài, và dễ nhập sai. Mà dùng VLOOKUP bình thường, với IF kẹp trong đó, vầy nè:
E8 = VLOOKUP(C8, $B$32:$E$34, IF(D8="A", 2, IF(D8="B", 3, 4)))​
Vẫn ngắn hơn, và dễ hiểu hơn INDEX và MATCH chứ nhỉ?

Cảm ơn Bác nhiều, nhất là được Bác khen không phải tay mơ --=0. Đồng ý với chỉ bảo của Bác
 
PHP:
E8 = VLOOKUP(C8, $B$32:$E$34, CODE(D8)-63)
Em thấy Bác dùng CODE(D8)-63 cho trường hợp này cũng khá hay, nhưng không được tổng quát, em sợ nhiều bạn dễ nhầm lẫn cho các ứng dụng tương tự khi áp dụng cho bài khác. Không biết Bác có thấy thế không ạ?
Bài này, nếu tôi làm thì tôi sẽ không dùng VLOOKUP và CODE mà dùng HLOOKUP và INT
E8 =HLOOKUP($D8,$C$31:$F$34,INT(C8/10)+2)
 
anh hướng dẫn cụ thể được ko ! Gửi file kèm theo cho em với
 
anh hướng dẫn cụ thể được ko ! Gửi file kèm theo cho em với
Còn cụ thể gì nữa bạn? Sau khi bạn hỏi, đã có đến 4 công thức để giải quyết chuyện tiền thưởng rồi mà:
  • =INDEX($C$32:$E$34, MATCH(C8, $B$32:$B$34, 1), MATCH(D8, $C$31:$E$31, 0))

  • =VLOOKUP(C8, $B$32:$E$34, CODE(D8)-63)

  • =VLOOKUP(C8, $B$32:$E$34, IF(D8="A", 2, IF(D8="B", 3, 4)))

  • =HLOOKUP(D8, $C$31:$F$34, INT(C8/10)+2)
Tùy bạn chọn nhé.
 
nhờ các bác giúp với. với một bài tương tự của bạn ChelseaVN em muốn dùng hàm vlookup để tham chiếu giá trị tại cột "Đơn giá tuần". Nhưng tại bảng tham chiếu B$16:C$22 xuất hiện nhóm "KHÁC" bao gồm (TRC;L1C;L3C) . Câu hỏi của em là làm thế nào để khi dùng hàm vlookup vẫn cho ra kết quả được.
nhân tiện đây cho em hỏi luôn làm thế nào để up file len nhỉ?

 
nhờ các bác giúp với. với một bài tương tự của bạn ChelseaVN em muốn dùng hàm vlookup để tham chiếu giá trị tại cột "Đơn giá tuần". Nhưng tại bảng tham chiếu B$16:C$22 xuất hiện nhóm "KHÁC" bao gồm (TRC;L1C;L3C) . Câu hỏi của em là làm thế nào để khi dùng hàm vlookup vẫn cho ra kết quả được.
nhân tiện đây cho em hỏi luôn làm thế nào để up file len nhỉ?
Hỏng có file thì biết đâu mà hướng dẩn hả bạn!
Tuy nhiên tôi đoán ý bạn là: Nếu VLOOKUP tìm không ra thì xem như là NHÓM KHÁC,đúng không?
Vậy thì:
=IF(ISNA(VLOOKUP(... gì gì đó...)),Lấy cái khác,VLOOKUP(... gì gì đó...))
Đại khái là vậy!
 
Thanks ! Em cần sử dụng cái hàm VLOOKUP với IF kẹp trong ( yêu cầu bài tập này ) ! 1 lần nữa chân thành cảm ơn
 
Giải bài tập

Bạn coi bài giải đúng yêu cầu chưa ?
see u soon
 

File đính kèm

  • DE_10(1).XLS
    28.5 KB · Đọc: 21
Lần chỉnh sửa cuối:
HỎi về hàm IF...

anh chị và các bạn giúp mình bài này


Chứcvụ Ngàycông Loại THưởng

VN ........ 22 .............A..............
VN .........23............. A
PP .........18 ..............C
NV .........24.............. A
PP ..........21 .............B
NV ..........19 .............C
NV ..........20 ..............B
TP ...........18 .............C
NV ...........21 .............B

Xếp loại: Nếu >22 lại A, trong đoạn[20,22] loại B,và nhỏ hơn 20 loại C thì em làm được rồi....
Tính cột Thưởng:
Thưởng 50000 nếu đạt loại A hoặc TP,PP đạt loại B trở lên
Thưởng 30000 loại B hoặc TP,PP đạt loại C
Thưởng 10000 nếu đạt loại C
giúp mình cột Thưởng
 
Bạn tham khảo cách lập thêm vùng điều kiện và sử dụng hàm dò tìm,nếu không lập vùng này thì bạn làm theo hướng sử dụng hàm IF nhưng công thức sẽ dài.
 

File đính kèm

  • thuong.xls
    18.5 KB · Đọc: 72
Mình cũng tập tành làm thử hàm IF nhưng dài 1 tí. bạn xem thử
 

File đính kèm

  • thuong.xls
    37.5 KB · Đọc: 48
Tham gia tí cho vui.
000-577.jpg
Công thức cho cột Thưởng (tại ô D2, rồi copy xuống):
=IF(C2="A", 50000, VLOOKUP(IF(OR(A2="TP", A2="PP"), CHAR(CODE(C2)-1), C2), $A$13:$B$15, 2, 0))​
 
Mình mới học được cách dùng hàm Choose thay cho hàm If rất ngắn gọn, không cần bảng phụ:
- Vùng dữ liệu A1:D10
- Công thức ô D2 = CHOOSE((C2="C")+OR(C2="B";AND(C2="C";OR(A2="TP";A2="PP")))+ OR(C2="A";AND(C2="B";OR(A2="TP";A2="PP")));10000;30000;50000)
 

File đính kèm

  • Choose_Thuong.xls
    13.5 KB · Đọc: 30
Lần chỉnh sửa cuối:
Ban minhsondaklak thử xem lại công thức xem có sai sót ở đâu không mà mình chỉ thay loại C thành loại A mà TP chỉ được thưởng có 10k?
 
Thưởng

Tôi dùng củ chuối, không dùng bảng phụ như sau:
'=IF(C2="A";50000;IF(C2="B";30000;IF(C2="C";10000;0)))+IF(OR(A2="TP";A2="PP");20000;0)
Xin kèm file
 

File đính kèm

  • thuong_khieukienag.xls
    37 KB · Đọc: 38
Tôi dùng củ chuối, không dùng bảng phụ như sau:
'=IF(C2="A";50000;IF(C2="B";30000;IF(C2="C";10000;0)))+IF(OR(A2="TP";A2="PP");20000;0)
Công thức trên này theo đề bài tôi thấy sai trường hợp A2="TP" và C2="A". Tiền thưởng sẽ là 70.000.

Không dùng hàm IF, từ củ chuối ta chuyển sang củ khoai :
=(C2="A")*50000+(C2="B")*30000+(C2="C")*10000+OR(A2="TP",A2="PP")*(C2<>"A")*20000
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom