Những vấn đề về hàm IF (2 người xem)

Liên hệ QC

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

Status
Không mở trả lời sau này.
Hiện tại tôi cần lập bảng Excel tính tiền thưởng và phạt cho NV bán hàng trên cơ sở doanh số thực hiện (A) và doanh số khoán hàng tháng (B) và tỷ lệ hoàn thành là X%
Anh em giúp tôi tạo hàm If với điều kiện sau với
- Nếu đạt doanh số thực hiện lớn hơn 20% doanh số khoán, thưởng 2tr
- Nếu đạt 20% > Doanh số thực hiện> = 10%, thưởng 1,5 tr
- Nếu đạt 10% > Doanh số thực hiện> 0%, thưởng 1 tr
- Nếu đạt 0% >= Doanh số thực hiện > -10%, Phat 1 tr
- Nếu doanh số thực hiện< -10%, Phat 2 tr
Bạn xem file đính kèm nhé.
|
A​
|
B​
|
C​
|
D​
|
E​
|
F​
1|
Nhân viên​
|
DS Khoán​
|
DS thực tế​
|
Tỷ lệ hoàn thành​
|
Vượt chỉ tiêu​
|
Thưởng​
|
2|A|
300​
|
230​
|=C2/B2|=D2-100%|=CHOOSE((E2>=-10%)+(E2>=0%)+(E2>=10%)+(E2>20%)+1,-2000000,-1000000,1000000,1500000,2000000)|
3|B|
400​
|
380​
|=C3/B3|=D3-100%|=CHOOSE((E3>=-10%)+(E3>=0%)+(E3>=10%)+(E3>20%)+1,-2000000,-1000000,1000000,1500000,2000000)|
4|C|
200​
|
210​
|=C4/B4|=D4-100%|=CHOOSE((E4>=-10%)+(E4>=0%)+(E4>=10%)+(E4>20%)+1,-2000000,-1000000,1000000,1500000,2000000)|
5|D|
350​
|
355​
|=C5/B5|=D5-100%|=CHOOSE((E5>=-10%)+(E5>=0%)+(E5>=10%)+(E5>20%)+1,-2000000,-1000000,1000000,1500000,2000000)|
6|E|
460​
|
468​
|=C6/B6|=D6-100%|=CHOOSE((E6>=-10%)+(E6>=0%)+(E6>=10%)+(E6>20%)+1,-2000000,-1000000,1000000,1500000,2000000)|
7|F|
540​
|
640​
|=C7/B7|=D7-100%|=CHOOSE((E7>=-10%)+(E7>=0%)+(E7>=10%)+(E7>20%)+1,-2000000,-1000000,1000000,1500000,2000000)|
8|G|
670​
|
700​
|=C8/B8|=D8-100%|=CHOOSE((E8>=-10%)+(E8>=0%)+(E8>=10%)+(E8>20%)+1,-2000000,-1000000,1000000,1500000,2000000)|
9|H|
1250​
|
1500​
|=C9/B9|=D9-100%|=CHOOSE((E9>=-10%)+(E9>=0%)+(E9>=10%)+(E9>20%)+1,-2000000,-1000000,1000000,1500000,2000000)|
 

File đính kèm

Lần chỉnh sửa cuối:
Hiện tại tôi cần lập bảng Excel tính tiền thưởng và phạt cho NV bán hàng trên cơ sở doanh số thực hiện (A) và doanh số khoán hàng tháng (B) và tỷ lệ hoàn thành là X%
Anh em giúp tôi tạo hàm If với điều kiện sau với
- Nếu đạt doanh số thực hiện lớn hơn 20% doanh số khoán, thưởng 2tr
- Nếu đạt 20% > Doanh số thực hiện> = 10%, thưởng 1,5 tr
- Nếu đạt 10% > Doanh số thực hiện> 0%, thưởng 1 tr
- Nếu đạt 0% >= Doanh số thực hiện > -10%, Phat 1 tr
- Nếu doanh số thực hiện< -10%, Phat 2 tr
Cám ơn anh em nhiều
Tôi thì tôi thích làm vầy hơn:
000-1311.jpg


Cách này, có cái lợi là tha hồ thay đổi mức thưởng (hoặc phạt), hay thay đổi mức doanh số sẽ được thưởng (hoặc phạt) nơi cái bảng bên trên, mà không cần sửa công thức gì hết.

Thêm một điều nữa, công thức ngắn gọn, nên sẽ không hao tốn nhiều bộ nhớ khi đụng phải những danh sách thưởng mà có đến hàng ngàn nhân viên...
 

File đính kèm

chào các bạn, minh mới gia nhập, mình có làm tất các theo như các bạn nhưng ở cột d2 không cho nhận nên mình chịu thua. xin các bạn chỉ rõ thêm, cảm ơn nhiều
 
Giải pháp nào thay cho hàm if của excel 2003?

Tôi có một trường hợp như file đính kèm. Tôi cũng đã cố gắng thử bằng 1 vài hàm khác nhau trong excel 2003 nhưng không làm được. Nhờ các cao thủ giúp đỡ. Nếu là excel 2007 thì có thể dùng hàm ifs được, nhưng chỗ tôi lại chưa dùng excel 2007!!!+-+-+-+:=\+
 

File đính kèm

Bạn dùng hàm VLOOKUP đi nhé, cách vừa ngắn vừa gọn, xem VD nha.
 

File đính kèm

Nếu B2<=D2 thì E2=C2; Nếu B2>D2 và B2<=D3 thì E2=C3; Nếu B2>D3 và B2<=D4 thì E2=C4….
Nhìn cái mớ điều kiện này thấy nhức đầu quá. Bạn đưa đủ lên xem sao, bài của bác cop_kh chưa đáp ứng được yêu cầu thì phải !
 
Nhìn cái mớ điều kiện này thấy nhức đầu quá. Bạn đưa đủ lên xem sao, bài của bác cop_kh chưa đáp ứng được yêu cầu thì phải !

Em làm sơ sơ vài đoạn để VLOOKUP để bạn tham khảo thôi, chứ theo em dùng hàm VLOOKUP trong trường hợp này để tìm giá trị cho tham chiếu gần đúng là OK nhất rồi Bác ạ.
 
Nhìn lại mớ điều kiện nghe có vẻ nó không theo một quy luật nào chứ không phải tìm theo giá trị gần đúng nhất, nghe đâu tới 12 điều kiện.
----------
Nói thêm với bạn thiennx là IFS cũng không có trong Ex2007, cũng chỉ là hàm IF nhưng nhiều điều kiện hơn thôi
 
Lần chỉnh sửa cuối:
Nhìn lại mớ điều kiện nghe có vẻ nó không theo một quy luật nào chứ không phải tìm theo giá trị gần đúng nhất, nghe đâu tới 12 điều kiện.
----------
Nói thêm với bạn thiennx là IFS cũng không làm được vụ này

Thôi cái vụ này chờ ý kiến của tác giả Bác nhé, do tác giả không đưa ra hết các điều kiện nên cũng khó mà biết chính xác hay không. Cùng chờ vậy Bác ạ.
Thân!
 
Thôi cái vụ này chờ ý kiến của tác giả Bác nhé, do tác giả không đưa ra hết các điều kiện nên cũng khó mà biết chính xác hay không. Cùng chờ vậy Bác ạ.
Thân!
Có thể yêu cầu của bài này là:
Nếu:
B2<=D2 thì E2=C2
D2<B2<=D3 thì E2=C3
D3<B2<=D4 thì E2=C4
D4<B2<=D5 thì E2=C5
D5<B2<=D6 thì E2=C6
D6<B2<=D7 thì E2=C7
............

Nếu dữ liệu có khoản 1000 dòng thì Ec..ec.... "Bó tay chấm com"
 
Tôi thì nghĩ rằng, tác giả đưa ra dãy điều kiện IF đó không hợp lý. Toàn là nói tới B2, vậy cái mớ từ B3 đến B13 thì dùng để làm gì? Để xem chơi à?
 
Cách dùng hàm IF?

bài 06 mình dùng hàm if ở câu 2 và câu 4 nhưng không ra xin các bạn chỉ dùm? bài 7 câu 1, câu 2 phần đơn giá?
 

File đính kèm

Bạn xem bài giải kèm theo nhé.
 

File đính kèm

Theo em, ý tác giả là B3 - B13 cũng giống B2 chăng ?
Như vầy:
B3<=D2 thì E3=C2
D2<B3<=D3 thì E3=C3
D3<B3<=D4 thì E3=C4
D4<B3<=D5 thì E3=C5
D5<B3<=D6 thì E3=C6
D6<B3<=D7 thì E3=C7
 

File đính kèm

Lần chỉnh sửa cuối:
Mình dùng công thức như vầy! Khỏi cần bảng Vlookup luôn. Và bạn muốn nó dài bao nhiêu thì tùy ý!
PHP:
=INDIRECT("C" & 14-((B2<=$D$2)+(B2<=$D$3)+(B2<=$D$4)+(B2<=$D$5)+(B2<=$D$6)+(B2<=$D$7)+(B2<=$D$8)+(B2<=$D$9)+(B2<=$D$10)+(B2<=$D$11)+(B2<=$D$12)+(B2<=$D$13)))
Thân.
 

File đính kèm

Lần chỉnh sửa cuối:
bài 06 mình dùng hàm if ở câu 2 và câu 4 nhưng không ra xin các bạn chỉ dùm? bài 7 câu 1, câu 2 phần đơn giá?
Bài 6:
  • Câu 2: [D5]: =IF(LEFT(B5,3)="CPU", "thùng", IF(LEFT(B5,3)="FDD", "hộp", "cái"))

  • Câu 4: [H5]: =(E5*G5)*(1 - IF(OR(LEFT(B5,3)="CDR", F5<=$H$3), 0%, 5%)

    Cái điều kiện ngày bán sau ngày khuyến mãi đúng là ra cho vui, chứ có ngày bán nào mà trước ngày khuyến mãi đâu? Khuyến mãi thì từ mãi hồi tháng 1, trong khi bán thì toàn là tháng 10 và tháng 11... Hết khuyến mãi từ... trước Tết, trong khi bán thì gần Noel! Vậy mà cũng nói là nếu... (hic)
 
Xin lỗi nha mình đánh lộn ngày khuyến mãi là ngày 1 tháng 11 năm 2008. Câu 4 tính thành tiền mình vẫn chưa hiểu lắm?
Có thể xem dùm mình câu 6 và 10 của bài 05 này không?
 

File đính kèm

Lần chỉnh sửa cuối:

File đính kèm

Xin lỗi nha mình đánh lộn ngày khuyến mãi là ngày 1 tháng 11 năm 2008. Câu 4 tính thành tiền mình vẫn chưa hiểu lắm?
Có thể xem dùm mình câu 6 và 10 của bài 05 này không?
Nếu công thức tính ra đơn giá của bạn để nguyên như vậy (tức là để nguyên 20 USD, 8 USD... ) thì bạn dùng công thức này để tính thuế:
=G3 * SUBSTITUTE(H3," USD","") * IF(OR(E3=$M$14, E3=$M$15), 3%, 5%)​
Hay là:
=G3 * LEFT(H3, LEN(H3)-4) * IF(OR(E3=$M$14, E3=$M$15), 3%, 5%)​


Và công thức để tính thành tiền là:
=G3 * SUBSTITUTE(H3," USD","") + I3​
Hay là:
=G3 * LEFT(H3, LEN(H3)-4) * + I3​


--------------------------------------

Còn nếu không thích công thức dài thòng như thế, bạn phải sửa lại kết quả của đơn giá: Nó đang là:
=VLOOKUP(LEFT(B3,3), $L$13:$O$17, 4, 0)​
Bạn phải sửa lại thành:
=--SUBSTITUTE(VLOOKUP(LEFT(B3,3), $L$13:$O$17, 4, 0), " USD", "")​
Hoặc:
=--LEFT(VLOOKUP(LEFT(B3,3), $L$13:$O$17, 4, 0), LEN(VLOOKUP(LEFT(B3,3), $L$13:$O$17, 4, 0))-4)​
Và định dạng cho dãy ô đơn giá theo kiểu #0 "USD" nếu thích thấy chữ USD:
000-2221.jpg

Nếu sửa lại công thức trong cột đơn giá theo như tôi vừa nói, thì công thức để tính thuế và thành tiền đơn giản hơn nhiều:
Thuế: =G3*H3*IF(OR(E3=$M$14, E3=$M$15), 3%, 5%)

Thành tiền: =G3*H3+I3​


---------------------------------------
@Hoangdanh:
Không thể tự tiện bỏ cái USD đi, vì đề bài người ta cho như vậy; mà phải dùng hàm mà bỏ đi...
 
Lần chỉnh sửa cuối:
Cho mình hỏi trong bài giải của bạn cop_kh:
bài 06 câu 4 bạn làm =G5*E5*IF(LEFT(B5,3)="CDR",1,IF(F5>$H$3,0.95,1)) cho mình hỏi 0.95 là sao vậy bạn?
bài 07 câu 3 là =IF(TYPE(F4*D4)=16,"Tính sau",F4*D4) mình muốn hỏi 16 là gì vậy bạn? Mình không hiểu có bạn nào giải thích giùm mình được không?
 
Cho mình hỏi bạn BNTT:
=--SUBSTITUTE(VLOOKUP(LEFT(B3,3), $L$13:$O$17, 4, 0), " USD", "")
Vì mình cũng mới học excel đây thôi nên cũng có những chỗ không hiểu ví dụ như trong công thức trên của bạn dấu --có ý nghĩa gì, tại sao phải dùng nó, và có thể nói thêm cho mình biết về hàm SUBSTITUTE được không? Cám ơn bạn nhé!
À quên nữa câu cuối cùng của bài 05 nó bắt định dạng các cột Đơn giá, thuế, thành tiền theo kiểu có dấu phân cách hàng ngàn và có đơn vị tiền tệ là USD ở phía trước.​
 
Lần chỉnh sửa cuối:
Hỏi đáp về INDIRECT

Mình dùng công thức như vầy! Khỏi cần bảng Vlookup luôn. Và bạn muốn nó dài bao nhiêu thì tùy ý!
PHP:
=INDIRECT("C" & 14-((B2<=$D$2)+(B2<=$D$3)+(B2<=$D$4)+(B2<=$D$5)+(B2<=$D$6)+(B2<=$D$7)+(B2<=$D$8)+(B2<=$D$9)+(B2<=$D$10)+(B2<=$D$11)+(B2<=$D$12)+(B2<=$D$13)))
Thân.
Bạn có thể giải thích cho mình đoạn này được không "((B2<=$D$2)+(B2<=$D$3)+(B2<=$D$4)+(B2<=$D$5)+(B2<=$D$6)+(B2<=$D$7)+(B2<=$D$8)+(B2<=$D$9)+(B2<=$D$10)+(B2<=$D$11)+(B2<=$D$12)+(B2<=$D$13))" vì mình chưa hiểu lắm.
 
Cho mình hỏi bạn BNTT:
=--SUBSTITUTE(VLOOKUP(LEFT(B3,3), $L$13:$O$17, 4, 0), " USD", "")
Vì mình cũng mới học excel đây thôi nên cũng có những chỗ không hiểu ví dụ như trong công thức trên của bạn dấu --có ý nghĩa gì, tại sao phải dùng nó, và có thể nói thêm cho mình biết về hàm SUBSTITUTE được không? Cám ơn bạn nhé!
À quên nữa câu cuối cùng của bài 05 nó bắt định dạng các cột Đơn giá, thuế, thành tiền theo kiểu có dấu phân cách hàng ngàn và có đơn vị tiền tệ là USD ở phía trước.​
Chuyện thứ nhất:
SUBSTITUTE là hàm dùng để thay thế. Nó sẽ tìm trong kết quả của VLOOKUP, hễ thấy cái nào có chuỗi " USD" thì thay thế bẳng ký tự rỗng (""), hay nói cách khác, nó bỏ đi chuỗi " USD", chỉ lấy con số thôi, và đồng thời 2 cái dấu -- ở trước công thức là để chuyển cái con số (đã được tách ra từ chuỗi có chữ USD) trở thành con số thực để có thể tính toán được.

Xem thêm: Hàm SUBSTITUTE()​


Chuyện thứ hai:
Nếu muốn được như yêu cầu, thì bạn phải tính đơn giá theo cách thứ hai mà tôi đã nói ở bài trước, nghĩa là tính đơn giá theo công thức này:
=--SUBSTITUTE(VLOOKUP(LEFT(B3,3), $L$13:$O$17, 4, 0), " USD", "")​
Sau đó bạn chọn hết 3 cột Đơn giá, Thuế, Thành Tiền, nhấn Ctrl+1 để gọi hộp thoại Format Cells, chọn Custom, đại khái giống y như cái hình tôi đã gửi ở bài trước, nhưng trong khung type (chỗ có mũi tên màu đỏ tôi vẽ thêm vào), thì nhập cái này:
"USD" #,##0
Nếu trong 3 cái cột đó đã có những con số rồi, bạn có thể kiểm tra ngay kết quả khi bạn nhập, ở ngay phía trên khung Type, phần Sample (trong hình ở bài trước, bạn thấy ở khung Type tôi nhập #0 "USD" thì trong phần Sample nó hiện ra 20 USD).​
 
Lần chỉnh sửa cuối:
Bạn có thể giải thích cho mình đoạn này được không "((B2<=$D$2)+(B2<=$D$3)+(B2<=$D$4)+(B2<=$D$5)+(B2<=$D$6)+(B2<=$D$7)+(B2<=$D$8)+(B2<=$D$9)+(B2<=$D$10)+(B2<=$D$11)+(B2<=$D$12)+(B2<=$D$13))" vì mình chưa hiểu lắm.
Cái đó chẳng qua là một loạt biểu thức so sánh thôi, đem giá trị trong B2 đi so sánh lần lượt với D2, D3, .... D12, xem có nhỏ hơn hoặc bằng (<=) không, nếu đúng thì trả về TRUE (tương đương số 1), nếu sai thì trả về FALSE (tương đương số 0). Và sau khi làm xong thì cộng hết mấy kết quả TRUE và FALSE (1 và 0) này lại, ra một con số nào đó.

Thôi để tôi lấy 1 trường hợp cụ thể cho bạn xem thì dễ hiểu hơn:
000-1011.jpg
Công thức ở ô E8 trong bảng tính ở trên đang là:
=INDIRECT("C" & 14-((B8<=$D$2) + (B8<=$D$3) + (B8<=$D$4) + (B8<=$D$5) + (B8<=$D$6) + (B8<=$D$7) + (B8<=$D$8) + (B8<=$D$9) + (B8<=$D$10) + (B8<=$D$11) + (B8<=$D$12) + (B8<=$D$13)))​
Tôi thay hết mấy con số thực của các ô B8 (=25) và từ D2 đến D13 vào công thức nhé:
=INDIRECT("C" & 14-((25<=10) + (25<=20) + (25<=30) + (25<=40) + (25<=50) + (25<=60) + (25<=70) + (25<=80) + (25<=90) + (25<=100) + (25<=110) + (25<=120)))​
Bạn thấy đấy, chỉ có mấy cái màu xanh là đúng, còn 2 cái màu đỏ là sai. Bi giờ tôi thay tiếp đúng (TRUE) là 1, còn sai (FALSE) là 0 vào đó nhé:
=INDIRECT("C" & 14-(0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1))​
Bạn nhẩm thử cái dãy 0+0+1+1.... nó ra bao nhiêu, có phải là 10 không? Công thức lúc này sẽ là:
=INDIRECT("C" & 14-(10)) =INDIRECT("C" & 4)​
Hàm INDIRECT có chức năng biến đổi những cái gì trong ruột của nó thành một tham chiếu, do đó kết quả chúng ta có sẽ là C4, hay nói cách khác, công thức này sẽ trả về giá trị tại ô C4, tức là:
=INDIRECT("C" & 14-((B8<=$D$2) + (B8<=$D$3) + (B8<=$D$4) + (B8<=$D$5) + (B8<=$D$6) + (B8<=$D$7) + (B8<=$D$8) + (B8<=$D$9) + (B8<=$D$10) + (B8<=$D$11) + (B8<=$D$12) + (B8<=$D$13))) = 4x16

Bạn xem ô C4 có phải là 4x16 không?
 
Có một cách nữa, dùng để tự xem công thức nó chạy như thế nào, đó là công cụ Evaluate Formula, nó nằm trong menu Tools > Formula Auditing:
000-1921.jpg

Nghĩa là, nếu bạn đọc bài trên đây của tôi mà thấy dài dòng văn tự quá, chả hiểu gì... thì bạn có thể tự nghiên cứu: Nhấn chọn ô chứa công thức dài dòng (ví dụ ô E8 mà tôi trích ra ở bài trước), rồi gọi công cụ Evaluate Formula, rồi nhấn vào nút Evaluate.... xem nó chạy từ từ như thế nào:
000-2259.jpg

Mà ở bài trước, tôi cũng dựa vào cái này để "dịch sang tiếng Việt" đấy thôi.
 
bài 07 câu 3 bạn cop kh làm là =IF(TYPE(F4*D4)=16,"Tính sau",F4*D4) mình muốn hỏi 16 là gì vậy bạn? Mình không hiểu có bạn nào giải thích giùm mình được không?
Sao không có bạn nào xem dùm mình câu 10 của bài 05 hết vậy?
 

File đính kèm

Lần chỉnh sửa cuối:
Lần chỉnh sửa cuối:
Rất cám ơn các bác đã quan tâm và đưa ra các giải pháp giúp em.
Công thức của bác BNTT cũng đã đáp ứng được yêu cầu ấy. Rất mong các bác cho thêm vài cách khác nhau để em tham khảo.
Hôm trước em chưa nói kỹ, và thực ra nó như thế này.
 

File đính kèm

Ví dụ : Dòng tính toán ở cột B3 = 50,51<68>49 thì phải chọn cáp 4x25 có dòng cho phép là 68
Nếu vậy phải lấy 4x16 là đúng rồi sao lại nhãy lên đến 4x25 được. Điều này nghe không được Logic lắm.
Vậy ra 4x16 không có giá trị nào để lấy à?
Bạn xét lại xem có trường hợp nào để xuất ra giá trị 4x16 không? Nếu không thì ta bỏ trị này đi là xong.
Thân.
 
Thú thật thì em không hiểu tại sao các Bác cứ làm phức tạp lên vậy, theo em thì Bác thiennx đưa lên 1 bảng kê đầy đủ các trường hợp để em làm thử cho. VD Bác liệt kê như sau:

Dòng 0 đến 10: dùng cáp 4x6.
Dòng >10 đến 20: dùng cáp 4x8...

Có phải vậy không Bác?
 
Nếu vậy phải lấy 4x16 là đúng rồi sao lại nhãy lên đến 4x25 được. Điều này nghe không được Logic lắm.
Vậy ra 4x16 không có giá trị nào để lấy à?
Bạn xét lại xem có trường hợp nào để xuất ra giá trị 4x16 không? Nếu không thì ta bỏ trị này đi là xong.
Thân.
Po_Pikachu không làm trong ngành điện nên chưa hiểu, nguyên tắc chọn cable phải chọn >= dòng tính toán. Chọn 4X25 trong trường hợp này là hợp lý. Tuy nhiên công thức để chọn cable có lẽ cần làm lại cho gọn hơn !
 
Vâng rất đúng! Em không làm trong nghành điện. Phần gọn hơn thì ta dùng Vlookup.
Vậy bác có thể chỉ cho em được rõ là cái 4x16 kia dùng vào cái chỗ nào không? Tại vì từ 49 -> 68 không có số ở giữa để phân cách số liệu ở B3 (50.51). Vậy nó sẽ lấy thông số kế tiếp hơn 49 (tức là 4x16).
Vậy là vấn đề không phải tại em. Vấn đề bác không nêu rõ cận trên và cận dưới của phần so sánh số liệu.
Nếu vậy bác nên lập ra 1 bảng so sánh cận trên và cận dưới thật chi tiết rõ ràng. Rồi dùng hàm Vlookup. Vậy có phải đơn giản hơn không?
Thân.
 
File này cũng không phải của tôi, cũng chỉ góp ý thôi. Việc làm của chúng ta là:

Với dòng điện tính toán xác định, ta chọn loại cable có kích thước như nào trong bảng.

Với những bảng tra dữ liệu đồ sộ, việc sắp xếp lại bảng tra là việc làm không thể. Cable 4X16 không dùng vào việc gì trong trường hợp này đơn giản vì người ta không dùng đến loại cable đó thôi. thân!
 
Nếu không dùng thì bỏ đi là xong.
Bác xem thử file nha!
Thân.
 

File đính kèm

Ý của em là dùng hàm indirect như trước là cũng đáp ứng được rồi, có điều cũng hơi phức tạp chút vì cũng phải có tương đối kiến thức mới hiểu và áp dụng được.
Em khẳng định là trong trường hợp này cũng khó có thể dùng vlookup.
Em dùng hàm if thì sẽ đơn giản, nhưng chỉ giải quyết được 7 lần if trong excel 2003.trong trường hợp này cần tới 12,13 lần if mới hết.
 

File đính kèm

Ý của em là dùng hàm indirect như trước là cũng đáp ứng được rồi, có điều cũng hơi phức tạp chút vì cũng phải có tương đối kiến thức mới hiểu và áp dụng được.
Em khẳng định là trong trường hợp này cũng khó có thể dùng vlookup.
Em dùng hàm if thì sẽ đơn giản, nhưng chỉ giải quyết được 7 lần if trong excel 2003.trong trường hợp này cần tới 12,13 lần if mới hết.
Bạn gõ công thức này vào F2 nhé:
PHP:
=LOOKUP(MIN(IF($B2<=$D$2:$D$13,$D$2:$D$13,"")),$D$2:$D$13,$C$2:$C$13)
Gõ xong bấm tổ hợp phím Ctrl + Shift + Enter
 
Công thức lookup của bác ndu thì kéo xuống để lấy ô B3 để so sánh thì báo lỗi value!
 
Công thức lookup của bác ndu thì kéo xuống để lấy ô B3 để so sánh thì báo lỗi value!
Bạn đọc kỹ hướng dẩn chưa? Có bấm Ctrl + Shift + Enter không?
Tôi nghĩ báo lổi là vì bạn chỉ Enter bình thường mà không làm giống như tôi đã nói!
Thử lại xem!
 

File đính kèm

Như vậy thì dùng hàm VLOOKUP với cách tra gần đúng là OK nhất rồi phải không các Bác nhỉ. Vậy mà các Bác khó thằng em không hà hihihi.
 

File đính kèm

Tôi có một trường hợp như file đính kèm. Tôi cũng đã cố gắng thử bằng 1 vài hàm khác nhau trong excel 2003 nhưng không làm được. Nhờ các cao thủ giúp đỡ. Nếu là excel 2007 thì có thể dùng hàm ifs được, nhưng chỗ tôi lại chưa dùng excel 2007!!!+-+-+-+:=\+


Bạn Có thể dùng hàm &If ma.Bạn muốn có bao nhiêu điều kiện cũng được mà.
Bạn Thử nhé:=if(B2=<=D2,E2=C2,"")&if(B2>D2,B2=D3,"")&IF(AND(B2>=D2,B2<=D3),E2=C3,"")&IF(AND(B2>D3,B2=D4),E2=C4,"")......
:=\+
 
Bạn Có thể dùng hàm &If ma.Bạn muốn có bao nhiêu điều kiện cũng được mà.
Bạn Thử nhé:=if(B2=<=D2,E2=C2,"")&if(B2>D2,B2=D3,"")&IF(AND(B2>=D2,B2<=D3),E2=C3,"")&IF(AND(B2>D3,B2=D4),E2=C4,"")......
:=\+

Hàm IF chỉ dùng được 7 lần thôi bạn à, không IF thỏa mái được đâu.
 
Bác cop_kh tạo ra 1 cái bảng khác thế người đọc nhìn vào sẽ nghĩ mình làm sai vì khi đó ví dụ như cáp 4x10 có dòng cho phép là 38 thì ko đúng, nó phải là 49 cơ. Ta phải tính đến việc làm ra và in ra, chứ ko phải chỉ làm cái bảng đó để chỉ mình kiểm tra và chọn cáp.
 
Như vậy thì dùng hàm VLOOKUP với cách tra gần đúng là OK nhất rồi phải không các Bác nhỉ. Vậy mà các Bác khó thằng em không hà hihihi.
Bài này bạn tính sai à nha! (sai ở chổ thiết kế bảng phụ)
Giả sử cột B người ta tính ra được kết quả đúng = 38 thì loại cáp phải là 4x6 chứ (của bạn nó ra 4x10)
Thêm nữa: Nếu thiết kế bảng phụ thì đương nhiên dùng VLOOKUP được rồi... và tôi cũng đồng ý với cách làm này. Tuy nhiên bạn phải thiết kế lại bảng phụ... Không dể à nha!
 
Hàm IF chỉ dùng được 7 lần thôi bạn à, không IF thỏa mái được đâu.
Bạn nói hỏng đúng rồi, Cop_kh à.
Hàm IF chỉ lồng nhau được 7 lần, thì đúng. Còn dùng hàm IF như cái cách của gautruchd dùng thì 70 lần cũng được! Miễn là tổng số ký tự có trong công thức nằm trong phạm vi cho phép của Excel (maximum là 32,767 ký tự).
 
Ở đây trường xin trả lời 4 câu hỏi và bài tập luôn:
thứ nhất là baitap1:
luong duoc tang 0.5% với 0.3% ban lam nhu sau
neu ngay tuyen dung truoc ngay 01/01/88 tang 0.5%, nguoc lai 0.3%
có liên quan đến ngày tháng vi vậy có 3 cách làm
+dùng hàm datevalue(chuoi ngay thang)=> ngay thang
vd: datevalue("01/01/1988")=>01/01/1988
=IF(C2<DATEVALUE("01/01/01988"),5%,3%)
+dung ham date(nam,thang,ngay)=> bt ngay thang nam
vd: date(01,01,88)=> 01/01/88
=IF(C2<DATE(88,01,01),5%,3%)
+ nhập vô 1 ô bất kỳ ngày 01/01/1988 rồi lấy ngày đề bài yêu câu so sánh với ngày mới nhập va cố định ngày đó luôn vd nhâp vô ô D9 ngay 01/01/1988
=IF(C2<$D9$,5%,3%)
tiếp theo là đề 06:
1)=VLOOKUP(LEFT(B5,3),$A$18:$C$22,2,0
2)=IF(LEFT(B5,3)="cpu","thung",IF(LEFT(B5,3)="fdd","hop","cai"))
3)=VLOOKUP(LEFT(B5,3),$A$18:$C$22,3,0) câu này bạn trộn 2 ô thành 1 ô tên hàng nên khi láy cột đơn giá không được ?? lần sau cân thận hơn nha!!
4)=IF(C5="CDROM",0,E5*LEFT(G5,LEN(G5)-3)*5%) câu này làm cách này ngắn hơn cách bạn làm rất nhiều
5)tinh tong thành tiền:=SUMIF($E$5:$E$14,">20",$H$5:$H$14)

tiếp theo là đề thi 7:
1)=VLOOKUP(LEFT(B4),$H$17:$L$19,2,0)&" "&IF(RIGHT(B4,2)="AP","AN PHU",IF(RIGHT(B4,2)="MD","MA DA","MY AN"))
đầu tiên là lâytến vật liệu trước bằng hàm dò tìm vlookup rồi dùng & kết hộp " " tạo khoang trắng &" "& sau đó dùng hàm diều kiện if để lấy nơi sản xuất dựa vào 2 ký tự cuối của mã hàng
2)=VLOOKUP(LEFT(B4),$H$17:$L$19,3,0)
3)=IF(MID(B4,2,2)="08",VLOOKUP(LEFT(B4),$H$17:$L$19,4,0),IF(MID(B4,2,2)="09",VLOOKUP(LEFT(B4),$H$17:$L$19,5,0),"CBG")) câu này phải hiểu kỷ bài mới làm được ở dâu dùng hàm diều kiện trước nếu tháng 08 thi láy đơn giá tháng 8 bàng cách sử dụng hàm vlookup ,rồi lại xét dk cho tháng 09 để lấy đơn giá tháng 9 ,nguợc lại mới dể chờ bào giá
4)=IF(F4="CBG","TINHSAU",F4*D4)
5) rút trích thì dể rồi đọc lại file đính kem của trường nha

+tiếp theo dề thi 05 câu 6 và câu 10
6=IF(OR(LEFT(B3,3)="chl",LEFT(B3,3)="nik"),G3*LEFT(LEN(H3)-2)*3%,G3*LEFT(LEN(H3)-2)*5%)
dựa vào mã công ty cho ngắn và đổi chuổi số sang dạng số
10)câu 10 trường dùng hàm thống ke countif để đếm bạn coi file dính kèm nha
ở đây
 

File đính kèm

Cách kết hợp nhiều hàm IF trong lập bảng


Các bạn giúp mình lập hàn IF trong bảng tính này với nhé :.,
Mình nói sơ qua về nội dung của bảng tinh cho các bạn dễ làm nhé }}}}}
Trong bảng mình cần tính ở 3 cột là : Cước cơ bản Hành khách, cước cơ bản hành lýcột tiền phạt HK + HL
Có 2 loại vé : Vé Hành khách và vé Hành lý.
Trong đó vé HK có 3 trường hợp
- Toàn vé
- Vé trẻ em
- Vé không hợp lệ ( là người đi tàu sử dụng thẻ ưu đãi không đúng đối tượng)

Khi tính 1 cái vé có khả năng sau :
1- Nếu là vé hành khách :
+ Tại cột cước cơ bản hành khách:
Trường hợp 1 : Nếu là vé Toàn vé
Cước cơ bản hành khách = Tiền thu/2 - Bảo hiểm
Trường hợp 2 : Nếu là vé Trẻ em:
Cước cơ bản hành khách = Tiền thu - Bảo hiểm
Trường hợp 3 : Nếu là vé không hợp lệ
Cước cơ bản hành khách = 0
+ Tại cột cước cơ bản hành lý: Không tính

+ Tại cột tiền phạt HK + HL:
Trường hợp 1: Nếu là vé Toàn vé
Tiền phạt HK + HL = Tiền thu / 2
Trường hợp 2 : Nếu là vé trẻ em
Tiền phạt HK + HL = 0
Trường hợp 3 : Nếu là vé không hợp lệ
Tiền phạt HK + HL = Tiền thu - Bảo hiểm
2 Nếu là vé Hành lý :
+ Tại cột Cước cơ bản hành khách: Không tính
+ Tại cột cước cơ bản hành lý = Tiền thu / 2
+ Tại cột Tiền phạt HK + HL = Tiền thu / 2

Mình muốn dùng hàm IF ( hoặc bất kỳ hàm gì ) để lập được bảng tình trên. Mong các bạn giúp đỡ. Mình cảm ơn trước nhé /-*+/

Ở đây mình có thể ký hiệu 1 , 2 , 3 ( hoặc A , B , C ) ở cột " Loại vé " cho 3 loại vé là : Vé Toàn vé ; Vé trẻ em ; Vé không hợp lệ.
Mong các bạn bớt chút thời gian giúp mình nhé !
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Với khả năng của mình thì chỉ giúp bạn được như sau:
= IF(Có bảng giá cước; Số vé bán được*đơn giá cước; Bó tay!)
= IF (Mỗi ga có 3 dòng; Tính cột tiền phạt riêng một dòng cho loại trốn vé; Phải cộng bàng thủ công rồi ghi vào biểu báo cáo)
Nói chung:
IF bạn không đưa đủ dữ liệu THEN Khả năng của mình không thể giải quyết ELSE Đưa file cụ thể lên GPE
Thân.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Tôi tạm đặt số cho các loại vé như thế này:
1 = Vé Toàn vé
2 = Vé Trẻ em
3 = Vé Không hợp lệ
4 = Vé Hành lý​

000-749.jpg
Theo bảng tính trên đây và theo những điều kiện bạn đã nêu, thì xin đề nghị những công thức sau đây:

Công thức tính Cước cơ bản Hành khách (cột G):
[G9]: =IF(C9=1, F9/2-J9, IF(C9=2, F9-J9, 0))

Công thức tính Cước cơ bản Hành lý (cột H):
[H9]: =IF(C9=4, F9/2, 0)

Công thức tại cột Tiền phạt (cột I):
[I9]: =IF(C9=2, 0, IF(C9=3, F9-J9, F9/2))
 
Mình cảm ơn bạn nhiều nhé ! Mình sẽ thử làm nêu có gì trục trặc thì minh sẽ hỏi tiếp nhé :D ! Thanks !!!
 
Cho em hỏi cách sử dụng hàm IF trong bài tập này

Số ngày ở = ngày đi- ngày đến , nếu ngày đi = ngày đến thì số ngày ở = 1 chứ không phải = 0
 

File đính kèm

Chả IF gì hết. Với bài này, bạn chỉ cần công thức:
F3 = E3-D3+1​
Xong copy cái rẹt xuống tới F10.

Thành thật khuyên bạn nhé:
  • Đừng bao giờ dùng hàm DAYS360, trừ phi bạn sống ở Mỹ.

  • Dùng VLOOKUP thì dùng tham số thứ tư là 0, đừng dùng 1, trừ phi danh sách dò tìm của bạn đã được sắp xếp (Sort).
 
Lần chỉnh sửa cuối:
Em nghĩ là chỉ khi D3=E3 thì mới dc tính là 1 ngày , còn các ngày khác nó có chênh lệch , sao lại +1 dc

Còn lời khuyên của anh , em chân thành cảm ơn và tiếp thu
 
Ngày trừ ngày

Đúng là ngày trừ ngày trong EXCEL là rất huyền ảo. Nếu không cẩn thận là sai như chơi.
Ví dụ: dùng =DATEDIF(01/01/2009;31/01/2009;"d") thì là bao nhiêu ngày? tháng 2 cũng thế, tháng 3 cũng thế và =DATEDIF(01/01/2009;31/03/2009;"d") sẽ không bằng 3 tháng trên cộng lại. Xin được hướng dẫn để rõ thêm.
Xin kèm file
 

File đính kèm

Em nghĩ là chỉ khi D3=E3 thì mới dc tính là 1 ngày , còn các ngày khác nó có chênh lệch , sao lại +1 dc
Thế theo bạn, từ 01/01/09 đến 01/01/09 là 1 ngày, và từ 01/01/09 đến 02/01/09 cũng là 1 ngày hay sao?
dùng =DATEDIF(01/01/2009;31/01/2009;"d") thì là bao nhiêu ngày? tháng 2 cũng thế, tháng 3 cũng thế và =DATEDIF(01/01/2009;31/03/2009;"d") sẽ không bằng 3 tháng trên cộng lại
DatedIf(beginDate, EndDate, "d") chính xác thì bằng với EndDate - BeginDate. Vậy nếu không cộng 1 thì làm sao đúng được với thí dụ trên? Nếu 4 cái DatedIf bạn đều cộng 1, thì 3 cái cộng lại sẽ bằng với cái thứ tư thôi.
Tóm lại là không có huyền ảo gì cả, mà chỉ là quy ước cách tính của Excel, và ta phải áp dụng đúng quy định của Excel mà thôi.
 
Lần chỉnh sửa cuối:
Đúng là ngày trừ ngày trong EXCEL là rất huyền ảo. Nếu không cẩn thận là sai như chơi.
Ví dụ: dùng =DATEDIF(01/01/2009;31/01/2009;"d") thì là bao nhiêu ngày? tháng 2 cũng thế, tháng 3 cũng thế và =DATEDIF(01/01/2009;31/03/2009;"d") sẽ không bằng 3 tháng trên cộng lại. Xin được hướng dẫn để rõ thêm.
Xin kèm file

Các hàm tính số ngày trong Excel được tính toán theo kiểu qua 1 ngày thì mới tính là 1, còn bạn tính toán chưa qua ngày là tính 1 nên mới có sự chênh lệch như vậy. Hiểu nôm na như sự hênh lệch giữa cách tính tuổi ta và tuổi tây vậy. Vì thế theo nhu cầu mà tính toán cho phù hợp thôi bạn ạ.
 
Còn cái này thì tính sao các anh ! Xin gửi file kèm them ! Tính dùm em Tiền thưởng
 

File đính kèm

Em nghĩ là chỉ khi D3=E3 thì mới dc tính là 1 ngày , còn các ngày khác nó có chênh lệch , sao lại +1 dc
Tất cả những bài toán tính thời gian mà có liên quan đến số ngày ở, số ngày làm việc, v.v... và nhất là khi có dính dáng tới chuyện tính tiền theo ngày, thì bao giờ người ta cũng lấy thời gian sau trừ thời gian trước và cộng thêm 1. Khi bạn xin đi làm trong một công ty nào đó, thì ngay khi bạn bước vào làm, bạn đã được tính lương 1 ngày rồi. Hoặc khi bạn vào nghỉ ở một khách sạn, thì ngay khi bạn nhận chìa khóa phòng, người ta đã tính là bạn ở một ngày rồi. Phải không?

Bạn thử tính bằng tay nhé: Bạn đi làm ngày thứ 2 (2/3/2009), đến thứ 6 (6/3/2009), thì phải tính lương cho bạn mấy ngày? Thứ hai nè, thứ ba nè, thứ tư, thứ năm, rồi thứ sáu, là 5 ngày, OK? Nếu tính "như bạn nghĩ", thì lấy ngày 6/3/2009 - ngày 2/3/2009 = 4 ngày, bạn có chịu không? Bạn có đòi người ta cộng thêm 1 vào phép trừ đó không?

Dạng toán này giống như bài toán trồng cây: Cứ cách 1 mét trồng một cây, hỏi một con đường dài 10 mét thì có mấy cây? Phải có 11 cây, phải không bạn?
 
Cảm ơn anh BNTT ! Cho em hỏi cách tính trong file đính kèm đã gửi
 
Còn cái này thì tính sao các anh ! Xin gửi file kèm them ! Tính dùm em Tiền thưởng
Bài này, bạn dùng hàm VLOOKUP mà không có tham số thứ 4. Khi không có tham số thứ 4, hàm VLOOKUP sẽ tìm một giá trị lớn nhất mà nhỏ hơn hoặc bằng giá trị muốn đem đi dò.

Ví dụ, trong bảng dò (B23:E34), ở số ngày công chỉ có 3 con số 0, 10, 20. Nếu bạn đem con số 5 (ở cột C) đi dò, thì VLOOKUP sẽ lấy giá trị tương ứng với số 0 (là số lớn nhất mà nhỏ hơn 5), và điều đó thỏa mãn yêu cầu là người này làm ít hơn 10 ngày (xem ở cột ghi chú). Hoặc bạn lấy số 26 đi đò, thì VLOOKUP sẽ lấy giá trị tương ứng với số 20, là số lớn nhất mà nhỏ hơn 26. Bạn hiểu chứ.

Còn cột để dò, thì dùng hàm IF: Nếu là A thì lấy cột thứ 2, B thì lấy cột thứ 3, C thì lấy cột thứ 4.

Bạn tự làm đi, rồi đưa công thức lên đây, tôi xem dùm cho. Chứ nếu tôi làm cho bạn luôn thì biết đến bao giờ bạn mới giỏi được?

P/S: Nếu chưa nắm rõ cách dùng các hàm, bạn có thể tra cứu bằng các link ở dưới chữ ký của tôi.
 
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

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

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

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

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

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
 
Với các mức thưởng cách đều nhau 20000, thì công thức của Viendo là đúng.
Còn nếu các mức thưởng không cách đều nhau thì sai.
 
Cho em về hàm if lồng hàm And

Xếp loại như sau: xuất sắc nếu kết quả là 20, giỏi nếu <20 và >=18, khá nếu <18 và >=14, TB <14 và >=10, yếu nếu <10 và >=8.5, còn lại là Kém.Tuy nhiên nếu có môn nào trong 1 trong 3 môn dưới 8.5 thì hạ 1 bậc xếp loại
 

File đính kèm

Xếp loại như sau: xuất sắc nếu kết quả là 20, giỏi nếu <20 và >=18, khá nếu <18 và >=14, TB <14 và >=10, yếu nếu <10 và >=8.5, còn lại là Kém.Tuy nhiên nếu có môn nào trong 1 trong 3 môn dưới 8.5 thì hạ 1 bậc xếp loại
không cần IF, AND gì cả bạn ơi:
J7 =CHOOSE(MATCH(I7,{0,8.5,10,14,18,20}),"Kém","Yếu","TB","Khá","Giõi","Xuất sắc")
 
Xếp loại như sau: xuất sắc nếu kết quả là 20, giỏi nếu <20 và >=18, khá nếu <18 và >=14, TB <14 và >=10, yếu nếu <10 và >=8.5, còn lại là Kém.Tuy nhiên nếu có môn nào trong 1 trong 3 môn dưới 8.5 thì hạ 1 bậc xếp loại
Bạn dùng ct dưới nhé:
Mã:
=IF((I7>=20)*MIN(D7:F7)>=8.5,"Xuất sắc",IF((I7>=18)*MIN(D7:F7)>=8.5,"Giỏi",IF((I7>=14)*MIN(D7:F7)>=8.5,"Khá",IF((I7>=10)*MIN(D7:F7)>=8.5,"TB",IF((I7>=8.5)*MIN(D7:F7)>=8.5,"Yếu","Kém")))))
 
Lần chỉnh sửa cuối:
Ôi bác ndu pro quá.Em thanks nhiều.Cách này khá là ngắn mà lại hay
 
Trong này em thấy không có chỗ nào nói đến trong các môn có môn < 8.5 sẽ bị hạ 1 bậc Bác ndu96081631 à.
Sorry! Quên để ý vụ này!
Ôi bác ndu pro quá.Em thanks nhiều.Cách này khá là ngắn mà lại hay
Nếu không có vụ "hạ bậc" thì công thức trên là đúng ---> Ngược lại là SAI.. như Salam đã phát hiện... tôi sửa lại rồi đây:
PHP:
=CHOOSE(MAX(MATCH(I7,{0,8.5,10,14,18,20})-(COUNTIF($D7:$F7,"<8.5")>0),1),"Kém","Yếu","TB","Khá","Giỏi","Xuất sắc")
 
Lần chỉnh sửa cuối:
cho mình hỏi, mình đang cần cách tính chuyển đổi như sau:
Nếu là F thì là Nữ còn lại M là Nam, giúp mình công thức này với,cảm ơn nhiếu!!
 
cho mình hỏi, mình đang cần cách tính chuyển đổi như sau:
Nếu là F thì là Nữ còn lại M là Nam, giúp mình công thức này với,cảm ơn nhiếu!!
VD: cột B bạn có dữ liệu F, M...
Cột C ở hàng tương ứng bạn dùng công thức sau: =IF(B2="F";"Nữ";"Nam")
Bạn nên gởi File lên thì tốt hơn để được giúp đỡ nhé.
 
Sử dụng hàm If ?

Mình có hàm này mong các bạn giúp mình nha:
- Nếu cột thành tiền < 100 000 thì được ghi 0 điểm.
- Nếu cột thành tiền = 100 000 thì được ghi 1 điểm.
- Nếu cột thành tiền > 100 000 thì được ghi....n điểm . Đến chỗ này là mình cũng không biết làm công thức kiểu gì nữa.
Mình dùng hàm if thế này:
= if(Thành tiền<100000,"0"),if(thành tiền=100000,"1"),if(thanhtiền>100000,"....."???? giúp minhf giải quyết vấn đề này nha.
hoặc có thể dùng hàm nào tốt hơn?
cảm ơn các bạn nha.
 
Mình có hàm này mong các bạn giúp mình nha:
- Nếu cột thành tiền < 100 000 thì được ghi 0 điểm.
- Nếu cột thành tiền = 100 000 thì được ghi 1 điểm.
- Nếu cột thành tiền > 100 000 thì được ghi....n điểm . Đến chỗ này là mình cũng không biết làm công thức kiểu gì nữa.
Mình dùng hàm if thế này:
= if(Thành tiền<100000,"0"),if(thành tiền=100000,"1"),if(thanhtiền>100000,"....."???? giúp minhf giải quyết vấn đề này nha.
hoặc có thể dùng hàm nào tốt hơn?
cảm ơn các bạn nha.
> 100000 bằng bao nhiêu không được???? tùy bạn cho thôi, 2 hoặc 3 hoặc 4....
 
Nhờ mọi người giải thích giùm về hàm IF

=IF(C6="GĐ",150000,IF(C6="PĐ",100000,IF(C6="KT",80000,IF(C6="GV",60000,40000))))

Ví dụ có nội dung hàm if như trên nhưng tại sao có máy thì hiện thị kết quả đúng, có máy thì hiển thị sai ở giá trị kiểm tra điều kiện GĐ. Vào Insert Funtion thì ở biểu thức điều kiện kiểm tra C6="GĐ" nó hiện thị là FALSE. Máy nào hiển thị là TRUE thì sẽ cho giá trị đúng??? Mà rõ ràng là hàm IF không sai??? Vậy lỗi do đâu???
 
Tôi thấy công thức của bạn đúng cả, tôi thử thì không thấy lỗi nào, bạn hày gửi file lên để mọi người xem giúp.
Thân!
 
Có vài điểm cần lưu í, như sau

* Dấu phân cách trong hàm Có máy mặc định là ',', nhưng cũng có máy xài dấu ';'
* Ký tự 'Đ' có khi mỗi font chữ mỗi mã thể hiện, bạn xem lại

(*) Ngoài ra ta có thể đặt thừa số chung, để đỡ viết các số '0' trong công thức, trách rườm rà í mà!

Nếu không phải hai cái ni, thì . . . hì, . . hì, . . . không biết luôn!:-=
 
Lần chỉnh sửa cuối:
Trong công thức Bạn thay dấu phảy (,) bằng dấu chấm phảy (;) là được
Tuy nhiên công thức của bạn không chặt chẽ bởi IF(C6="GV";60000;40000) luôn cho kết quả là 40000 (chỉ trừ trường hợp C6 = "GV" thì là 60000) vậy khi C6 = 0 hoặc C6 = "" (tức là chẳng có ông, bà nào cả) mà vẫn cho 40000 là sao?
 
=IF(C6="GĐ",150000,IF(C6="PĐ",100000,IF(C6="KT",80000,IF(C6="GV",60000,40000))))

Ví dụ có nội dung hàm if như trên nhưng tại sao có máy thì hiện thị kết quả đúng, có máy thì hiển thị sai ở giá trị kiểm tra điều kiện GĐ. Vào Insert Funtion thì ở biểu thức điều kiện kiểm tra C6="GĐ" nó hiện thị là FALSE. Máy nào hiển thị là TRUE thì sẽ cho giá trị đúng??? Mà rõ ràng là hàm IF không sai??? Vậy lỗi do đâu???
Nếu bạn copy cả file thì sẽ không có chuyện ở máy này đúng mà ở máy khác sai. Còn nếu bạn copy công thức thì có thể sai ở các ký tự tiếng việt như ChanhTQ@ nói. Còn theo tôi, không có trường hợp sai do dấu phân cách các phần tử "," và ";". Vì khi nhập một công thức, nếu dấu phân cách các phần tử sai thì Excel sẽ báo lỗi và không cho nhập công thức, phải sửa lại thì công thức mới được nhập vào cell.
 
cuongnavn gửi file cho mọi người xem, một số máy thì ở điều kiện kiểm tra là GĐ đáng lẽ cho kết quả là 150000 nhưng lại cho kết quả là 40000. Các ô còn lại cho giá trị đúng.

File ở trong sheet có tên là bài 1:
 

File đính kèm

cuongnavn gửi file cho mọi người xem, một số máy thì ở điều kiện kiểm tra là GĐ đáng lẽ cho kết quả là 150000 nhưng lại cho kết quả là 40000. Các ô còn lại cho giá trị đúng.

File ở trong sheet có tên là bài 1:

Tôi kiểm tra trên máy tôi thì vẫn là 15000 nhưng theo như bạn nói thì tôi đoán chắc chắn là tại chữ Đ đúng như bạn ChanhTQ@ đã nói từ đầu.

Theo như công thức của bạn thì cứ tên nào không đúng với điều kiện trong danh sách thì = 40000 vì vậy khi mà GĐ = 40000 thì đích thị GĐ không phải là GĐ. Bạn kiểm tra lại xem khi mà GĐ = 40000 thì PĐ cũng 40000 luôn.
Chú ý:điều kiện tìm thông thường không phân biệt hoa hay chữ thường nhưng với những chữ chỉ có tiếng việt mới có thì phải chính xác ví dụ chữ Đ và chữ đ... và cũng lưu ý kiểm tra ký tự trắng ở sau cùng; nếu lười kiểm tra thì copy ngay chữ GĐ trong công thức dán vào cột chức vụ thì lúc nào cũng OK (tôi thường làm theo cách này).

P/s Khi nào bạn thấy hài lòng thì nhấn vào nút cảm ơn nha. Việc nhấn nút này không chỉ để động viên người viết mà còn thông báo cho họ biết mình đã xem bài này chưa.
 
Lần chỉnh sửa cuối:
Xem file, tôi đoán đây là bài tập dành cho các học viên tin học
Ngoài các trường hợp mà các cao thủ đã kể, tôi còn thấy các bạn hay bị lổi gõ dư khoảng trắng
GĐ công với 1 khoảng trắng thừa phía trước hoặc phía sau thì máy tính không xem là GĐ rồi ---> Máy tính nó vừa NGU lại vừa KHÔN... Ẹc.. Ẹc...
 
Status
Không mở trả lời sau này.

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

Back
Top Bottom