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.
Em có bài tập như thế này nhưng không bít làm+-+-+-+.
+ Lương được tăng được tính như sau: Nếu nv được tuyển dụng trước ngày 01/01/88 thì được tăng 0.5% lương chính thức, ngược lại chỉ được tăng 0.3%.
+ Tính tạm ứng: bằng 2/3 lương chính thức nhưng không lớn hơn $3000.
Em đã thử dùng hàm if với công thức là =if(c2<1/1/88,"0,5%","0,3%") thì nó cho kết quả ở tất cả các ô lương được tăng đều là 0,5%. Ai giải đáp giúp em với.&&&%$R&&&%$R&&&%$R
tớ có cách này:if(C2<$C$17,0.5%,0.3%)*D2 ---------c17 là ô điền :01/01/88
 
Nhờ rút gọn dùm công thức sử dụng hàm IF

Mình có công thức này xin các bạn vui lòng rút gọn giúp nhe !!!
= IF(LEFT(B13,1)="N',"NHẬP"&VLOOKUP(maVT_NX,maVTU_d,2,0),IF(LEFT(B13,1)="X","XUẤT"&VLOOKUP(maVT_NX,maVTU_d,2,0)&" ",0))
Ô B13 CHỨA DỮ LIỆU LÀ : X01
XIN CÁC BẠN GIÚP ĐỠ NHÉ !!!
&&&%$R


Mình gởi kèm file mong các bạn giúp đỡ nha !!! Cám ơn nhiều !!!
 
Lần chỉnh sửa cuối:
Mình có công thức này xin các bạn vui lòng rút gọn giúp nhe !!!
= IF(LEFT(B13,1)="N',"NHẬP"&VLOOKUP(maVT_NX,maVTU_d,2,0),IF(LEFT(B13,1)="X","XUẤT"&VLOOKUP(maVT_NX,maVTU_d,2,0)&" ",0))
Ô B13 CHỨA DỮ LIỆU LÀ : X01
XIN CÁC BẠN GIÚP ĐỠ NHÉ !!!
&&&%$R
Nếu ở cột B, chỉ có N... và X..., ngoài ra không còn thứ gì khác, thì có thể bỏ bớt một cái IF và rút gọn như sau:
= IF(LEFT(B13)="N", "NHẬP" & VLOOKUP(maVT_NX,maVTU_d,2,0), "XUẤT" & VLOOKUP(maVT_NX,maVTU_d,2,0))
 
Lần chỉnh sửa cuối:
Mình có công thức này xin các bạn vui lòng rút gọn giúp nhe !!!
= IF(LEFT(B13,1)="N',"NHẬP"&VLOOKUP(maVT_NX,maVTU_d,2,0),IF(LEFT(B13,1)="X","XUẤT"&VLOOKUP(maVT_NX,maVTU_d,2,0)&" ",0))
Ô B13 CHỨA DỮ LIỆU LÀ : X01
XIN CÁC BẠN GIÚP ĐỠ NHÉ !!!
&&&%$R
1. Bạn có thể đưa file ví dụ lên để mọi người hướng dẫn cho dể. Chứ cái CT của bạn hình như có vấn đề: lookup_value=maVT_NX ===> nghĩa là sao?

2. Công thức này mà bạn kêu dài gì.
3. Nếu muốn rút gọn cho dẹp mắt thì bạn có thể tạo "name" cho công thức.
VD: đặt một name MaVT_d= IF(LEFT(B13,1)="N',"NHẬP"&VLOOKUP(maVT_NX,maVTU_d,2,0),IF(LEFT(B13,1)="X","XUẤT"&VLOOKUP(maVT_NX,maVTU_d,2,0)&" ",0))
Khi đó bạn chỉ cần nhập công thức =MaVT_d
 
= IF(LEFT(B13)="N", "NHẬP" & VLOOKUP(maVT_NX,maVTU_d,2,0), "XUẤT" & VLOOKUP(maVT_NX,maVTU_d,2,0))

Ngắn hơn mà không dùng name như Phillip:

=IF(LEFT(B13)="N", "NHẬP", "XUẤT") & VLOOKUP(maVT_NX,maVTU_d,2,0)
 
Mình có công thức này xin các bạn vui lòng rút gọn giúp nhe !!!
= IF(LEFT(B13,1)="N',"NHẬP"&VLOOKUP(maVT_NX,maVTU_d,2,0),IF(LEFT(B13,1)="X","XUẤT"&VLOOKUP(maVT_NX,maVTU_d,2,0)&" ",0))
Ô B13 CHỨA DỮ LIỆU LÀ : X01
XIN CÁC BẠN GIÚP ĐỠ NHÉ !!!
&&&%$R

Các bạn phải để ý " Đề " là có ba trường hợp:ký tự đầu của B13 = "N";"X" và <> cả N hay X (=0 ở công thức gốc). Vậy công thức của bạn khanhthiet là vừa đủ cũng chẳng cần đặt tên cho rườm rà!
 
Hỏi về hàm IF

Nhờ mọi người cho ví dụ về hàm này:
=IF(MONTH(ngaysinh)<>10,0,IF(NAM="nam",50000,60000)
Nếu sai chỗ nào mọi người sửa giúp
 
Nhờ mọi người cho ví dụ về hàm này:
=IF(MONTH(ngaysinh)<>10,0,IF(NAM="nam",50000,60000)
Nếu sai chỗ nào mọi người sửa giúp
Đầu tiên bạn phải đưa file lên để mọi người biết ngaysinh là cái gì, NAM là cái chi chi?
Nhìn sơ bộ thì hàm trên thiếu 1 dấu ngoặc cuối công thức
 
Nếu chỉ có vậy thì công thức của bạn chỉ cần thêm mỗi cái dấu đóng ngoặc đơn ở cuối nữa là xong.
Nhưng nếu bạn viết công thức như sau thì mọi người dễ hiểu hơn:
=IF(MONTH(ngaysinh)<>10,0,IF(gioitinh="nam",50000,60000))​

Tiện thể cho hỏi tí: sao cái cột STT của bạn nó... kinh hoàng vậy? Bạn phải định dạng cho nó là General hoặc Number chứ, ai lại để là thế?
 
Lần chỉnh sửa cuối:
Có hai chổ sai, bạn xem lại nha!
1/Bạn định dạng cột N.Sinh lại đi! Ở đây ô D3 là ngày 10 tháng 2 năm 1969 đó chứ không phải tháng 10 đâu!
Bạn chỉnh lại như sau: Bạn quét chọn vùng D3:D12 rồi chọn Format Cells -> chọn thẻ Number -> chọn Custome -> nhập vào khung Type: dd/mm/yy -> OK.
Rồi nhập lại các giá trị ngày tháng năm theo quy luật tháng/ngày/năm

2/Bạn viết hàm ở E3 sai. Viết lại như sau:
=IF(Month(D3)<>10,0,IF(C3="nam",50000,60000))
Không phải C1 và cũng không phải 2 đâu.
Rồi sau đó kéo toàn bộ công thức xuống!
Thân.
 
Cảm ơn mọi người đã giúp
 
Lần chỉnh sửa cuối:
Một phát hiện rất hay. Khâm phục. Xin phép Po_Pikachu cho mình nói ra cái điều ấy nhé.
Các bạn xem hình sau:
bangqo2.png
Nếu nhìn bình thường, có vẻ như các giá trị ngày tháng trong cột D là đúng, là dd/mm/yy.

Nhưng thật ra không phải vậy. Bởi lẽ, nếu như giá trị nhập vào là đúng dạng thức ngày tháng năm, thì Excel sẽ "căn phải" (Alignment = Right) cho nó, như trong các ô D3, D8 và D12; còn nếu như sai, thì Excel sẽ xem đó là dữ liệu kiểu text, và "căn trái" (Alignment = Left). Nhìn vào cách căn lề, là một trong những cách để biết được cái chúng ta nhập vào đúng hay sai.

Do đó, dữ liệu ngày tháng trong các ô được "căn trái" là sai, và cái 15/07/65 (ô D4) chính là ngày 7 tháng 15 năm 65! Và ngược lại, giá trị trong D3 chính là ngày 10 tháng 2, chứ không phải ngày 2 tháng 10, và vì vậy nên kết quả trong ô E3 = 0 (tháng <> 10).

Trong bảng tính được chụp hình lại ở trên, cột D đang được định dạng ngày tháng theo kiểu mm/dd/yy, nghĩa là tháng trước, ngày sau.

Xin hỏi tác giả, bạn không hiểu tại sao kết quả ở E3 = 0, phải không? Và bạn nghĩ rằng công thức của bạn bị sai?
 
Mình mới học nên nhiều chỗ nhầm lẫn hơi ngớ ngẩn, có gì mong lần sau mọi người giúp tiếp

Thế bây giờ muốn biết những người sinh từ ngày 1 -> 10 thì phải dùng hàm nào? Các bạn chỉ giúp mình với
 
Lớn hơn 1 và nhỏ hơn 10 thì nằm trong khoảng đó!
=IF(and(Month(D3)>=1,Month(D3)<=10),0,IF(C3="nam",50000,60000))
Thân.
 
Ý mình muốn hỏi là 3 cái cột sau đó, đáng nhẽ là từ 1->10 ở cột F. Thế bây giờ muốn biết những người sinh từ ngày 1 -> 10 trong tháng 10 được quà và cho hiện lên cột F thì phải dùng hàm nào? Các bạn chỉ giúp mình với.
 
À mình nhằm! Bạn xem lại nha! Thế hiện gì lên cột F, hiện tên nha!
=IF(Month(D3)<>10,0,IF(and(Day(D3)>=1,Day(D3)<=10),C3,0))
Thân.
 
Ý mình muốn hỏi là 3 cái cột sau đó, đáng nhẽ là từ 1->10 ở cột F. Thế bây giờ muốn biết những người sinh từ ngày 1 -> 10 trong tháng 10 được quà và cho hiện lên cột F thì phải dùng hàm nào? Các bạn chỉ giúp mình với.

Bạn dùng công thức sau, nếu không thích dùng IF:
F3 = CHOOSE((AND(MONTH(D3)=10,DAY(D3)<=10))+1,"",B3)

Hoặc theo cách Po_Pikachu, nhưng công thức ngắn hơn tí:
F3 = IF(And(Month(D3)=10, Day(D3)<=10), B3,"")

To Po_Pikachu:
Mình nghĩ, chỉ cần xét điều kiện ngày <= 10 là đủ, vì ngày không thể < 1 được!
 
Lần chỉnh sửa cuối:
Lần chỉnh sửa cuối:
Tiêu đề của topic này là "Hỏi vể Hàm IF"; tuy nhiên, công thức bên trên có thể được dùng bằng một cách khác (không dùng IF):
=SUMPRODUCT(--(MONTH(D3)=10),(60000-10000*(C3="nam")))
Ca_dafi ơi, sao không bỏ luôn cái Sumproduct đi cho gọn công thức?
=(MONTH(D3)=10)*(60000-10000*(C3="nam"))
 
Theo tui thì công thức có thể như sau:
=IF(and(Month(D3)=10),C3="nam")="true",50000,60000)
Các bác cho ý kiến co đúng không?
 
Theo tui thì công thức có thể như sau:
=IF(and(Month(D3)=10),C3="nam")="true",50000,60000)
Các bác cho ý kiến co đúng không?

- Yêu cầu của tác giả là: Nếu tháng của ngày sinh là 10 và nếu giới tính là Nam thì thưởng 50.000, giới tính là nữ thì thưởng 60.000, công thức của bạn sai vì nếu tháng không phải là 10 và giới tính là Nam thì cho ra 60,000 --> Vô lý!

- Thêm vào đó, điều kiện trong hàm IF, bạn không cần phải gán = "TRUE";
- Nếu muốn gán bằng TRUE thì bạn nên bỏ cả hai dấu nháy kép đi!
- Điều cuối cùng là: bạn có tin là công thức của bạn luôn luôn cho ra giá trị là 60000 không?
 
Cảm ơn bạn , nhưng mà có chút rắc rối !!!!

Ngắn hơn mà không dùng name như Phillip:

=IF(LEFT(B13)="N", "NHẬP", "XUẤT") & VLOOKUP(maVT_NX,maVTU_d,2,0)

Nói chung rút gọn như thế này là tạm được rồi nhưng mà có chút trở ngại là nếu như ở cột B không có giá trị ( N... Or X... ) thì ô chứa công thức : =IF(LEFT(B13)="N", "NHẬP", "XUẤT") & VLOOKUP(maVT_NX,maVTU_d,2,0) sẽ trả về kết quả không có giá trị tham chiếu ( #N/A ) , mà nếu muốn để khi các ô ở cột B chưa nhập giá trị mà ô chứa công thức là rỗng ( " " ) thì phải chèn thêm 1 hàm if nữa . Khi đó lại quay về 2 hàm If giống của mình . Bạn có cách nào khi các ô cột B không nhập giá trị thì trả về rỗng mà công thức ngắn hơn không ???
Xin cảm ơn nhiều !!!!
 
Mình có công thức này xin các bạn vui lòng rút gọn giúp nhe !!!
= IF(LEFT(B13,1)="N',"NHẬP"&VLOOKUP(maVT_NX,maVTU_d,2,0),IF(LEFT(B13,1)="X","XUẤT"&VLOOKUP(maVT_NX,maVTU_d,2,0)&" ",0))
Ô B13 CHỨA DỮ LIỆU LÀ : X01
XIN CÁC BẠN GIÚP ĐỠ NHÉ !!!
&&&%$R


Mình gởi kèm file mong các bạn giúp đỡ nha !!! Cám ơn nhiều !!!
Cho phép mình phân tích lại cái này tí:
  • Nếu B13 là NHẬP: = "NHẬP" & VLOOKUP(maVT_NX, maVTU_d,2,0)
  • Nếu B13 là XUẤT: = "XUẤT" & VLOOKUP(maVT_NX, maVTU_d,2,0) & " "
  • Nếu B13 là thứ gì khác: = 0
Ở hàng thứ hai, nếu B13 là XUẤT, bạn có thể bỏ bớt cái [ & " " ] không?
Nếu được, thì công thức này hơi hơi ngắn tí nè, nhưng vẫn phải dùng 2 IF:
=IF(AND(LEFT(B13)<>"N",LEFT(B13)<>"X"),0,IF(LEFT(B13)="N","NHẬP","XUẤT")&VLOOKUP(maVT_NX,maVTU_d,2,0))​
 
Cách áp dụng hàm IF

Nhờ các bạn hướng dẫn cách thức sử dụng hàm IF.
Nếu tôi có điều kiện: >10 công; thì phụ cấp 100.000 đồng
>20 công thì phụ cấp 200.000 đồng
<10 thì không phụ cấp
Mong các bạn hướng dẫn nhé. Xin cảm ơn nhiều
 
Vậy thôi mà cũng không biết nữa sao?
=IF(DK>10,100000,IF(DK>20,200000,"Không phụ cấp"))
Thân.
 
Nhờ các bạn hướng dẫn cách thức sử dụng hàm IF.
Nếu tôi có điều kiện: >10 công; thì phụ cấp 100.000 đồng
>20 công thì phụ cấp 200.000 đồng
<10 thì không phụ cấp
Mong các bạn hướng dẫn nhé. Xin cảm ơn nhiều
Mình góp thêm một cách không dùng IF:

Ví dụ:
Cột A là cột [Ngày công]
Cột B là cột [Tiền Phụ Cấp]
Ô B1 gõ:
B1 = (--(A1>10)--(A1>20))*100.000
Đối với bài toán tương tự của bạn mà có trên 7 điều kiện, hãy làm theo công thức của mình.
Bài toán ví dụ tương tự:
|Ngày Công|Phụ cấp
1|>10|100.000
2|>20|200.000
3|>30|300.000
4|>40|400.000
5|>50|500.000
6|>60|600.000
7|>70|700.000
8|>80|800.000
9|>90|900.000
10|...|........
n|>10n|100.000*n
 
Lần chỉnh sửa cuối:
Lần chỉnh sửa cuối:
=IF(DK>10,100000,IF(DK>20,200000,"Không phụ cấp"))
Bạn đã bị dẫn dắt theo thứ tự điều kiện của tác giả nên công thức đưa ra theo thứ tự đó và vì vậy nó có vẻ chưa đúng.
Trong công thức trên, cái IF2 (DK>20) sẽ không có tác dụng (vì thoả IF2 thì cũng thoả IF1 và lấy giá trị tương ứng với IF1 rồi còn đâu).
Thông thường nếu có nhiều IF thì thứ tự IF1, IF2, ...sẽ đi theo chiều tăng dần, hoặc giảm dần, chứ ít khi xuất phát từ giữa (trừ trường hợp đặc biệt). Ví dụ trong trường hợp trên :
(1) Tăng dần : =IF(DK<10,"Không phụ cấp",IF(DK<=20,100000,200000))
(2) Giảm dần : =IF(DK>20,200000,IF(DK>10,100000,"Không phụ cấp"))
(3) Xuất phát từ giữa : =IF(DK>10 và DK<=20,100000,IF(DK>20,200000,"Không phụ cấp"))
Ta thấy (3) có vẻ phức tạp hơn (1) và (2). Còn giữa (1) và (2) thì (2) có vẻ dễ sử dụng hơn.
Nhìn kỹ lại (1) và (2) thì có khác chút xíu ở trường hợp DK=10, tức là khi DK=10 thì (1) và (2) cho ra kết quả khác nhau; (ở DK=20 thì (1) và (2) vẫn cho kết quả như nhau). Sở dĩ như vậy là do căn cứ theo đề bài của tác giả : minh bạch ở DK20 (200000 với DK>20 nghĩa là dấu =20 chỉ tương ứng 100000; mặc dù theo thực tế thông thường thì dấu =20 nên tương ứng 200000); và không minh bạch ở DK10 (dấu =10 không biết là tương ứng 100000 hay tương ứng "không phụ cấp", mặc dù theo thực tế thông thường thì dấu =10 là tương ứng 100000).
 
Mình vẫn chưa hiểu lắm công thức của bạn ca_dafi, bạn nào hiểu vui lòng giải thích giúp mình công thức này với. Nếu tiền phụ cấp ko phải là 100.000 và 200.000 mà lá 1 số ngẫu nhiên khác thì công thức này sẽ thế nào hả bạn?
 
@lypt: cảm ơn bạn đã nhắc, do mình chưa test lại chỉ theo ý của tác giả thôi!

@trunghtpco: Bạn thử dùng công thức của bác Ca_Dafi xem rồi thử thay các số khác nhau vào xem có lỗi gì không. Nếu có thì sẽ sữa lại sao.
Thân.
 
Mình vẫn chưa hiểu lắm công thức của bạn ca_dafi, bạn nào hiểu vui lòng giải thích giúp mình công thức này với. Nếu tiền phụ cấp ko phải là 100.000 và 200.000 mà lá 1 số ngẫu nhiên khác thì công thức này sẽ thế nào hả bạn?
Công thức của bạn Ca_Dafi, là áp dụng cho chỉ riêng cái trường hợp cụ thể đó mà thôi, bạn ấy đã lợi dụng con số tiền phụ cấp = 10 lần con số ngày tương ứng. Chứ công thức đó không thể dùng trong trường hợp số tiền (và số ngày) là ngẫu nhiên.

Nếu bạn muốn tổng quát, bạn có thể sử dụng mẫu này:
Giả sử có 3 mốc ngày để tính phụ cấp là: N1, N2 và N3, với N1 < N2 < N3, và:
- Với số ngày công là N1, thì được phụ cấp PC1
- Với số ngày công là N2, thì được phụ cấp PC2
- Với số ngày công là N3, thì được phụ cấp PC3

Ta có công thức tổng quát:
=IF(Ngày công < N1, "Không phụ cấp", IF(Ngày công < N2, PC1, IF(Ngày công < N3, PC2, PC3)))​

Tuy nhiên, hàm IF chỉ có thể lồng tối đa là 7 lần. Do đó, nếu có quá nhiều mốc thời gian để tính phụ cấp, thì không nên sử dụng IF, vì ngoài chuyện không thể lồng hơn 7 lần, nó còn làm cho công thức cồng kềnh và khó hiểu; mà trong trường hợp này, người ta sẽ dùng những hàm dò tìm như VLOOKUP, HLOOKUP...

Thân.
 
Bạn có thể nói rõ hơn công thức nào không? Thực ra công thức của bác ndu96081631 mới sai chứ?
A1|ca_dafi|ndu96081631|ndu96081631
|= (--(A1>10)--(A1>20))*100000|=100000*INT((A1-1)/10)|=100000*MIN(INT((A1-1)/10),2)
9|0|0|0
10|0|0|0
11|100000|100000|100000
20|100000|100000|100000
21|200000|200000|200000
29|200000|200000|200000
31|200000| 300000 |200000
Thật sự tùy còn tùy vào người dùng chứ, mỗi người khác nhau sẽ có cách dùng khác nhau.
Theo mình, tùy vào việc các bạn ứng biến thế nào thôi!
Thân.
 
Mình vẫn chưa hiểu lắm công thức của bạn ca_dafi, bạn nào hiểu vui lòng giải thích giúp mình công thức này với. Nếu tiền phụ cấp ko phải là 100.000 và 200.000 mà lá 1 số ngẫu nhiên khác thì công thức này sẽ thế nào hả bạn?
Công thức này:
B1 = (--(A1>10)--(A1>20))*100.000
Bạn hãy bỏ qua con số 100.000, công thức sẽ là:
Bây giờ ta xét từng khúc một nhé
(A1>10) sẽ trả về giá trị là True/False
Ta thêm hai dấu trừ "--" sẽ trả biểu thức trên về giá trị là 1/0 ==> Để hiểu rõ hơn về hai dấu "--" bạn có thể xem dưới chữ ký mình nhé!
Tương tự với --(A1>20)
Xét ví dụ cụ thể: Cho A1=12
(--(A1>10)--(A1>20)) = (--(12>10)--(12>20))
= (--True--False)
= (1+0) = 1
Xét ví dụ cụ thể: Cho A1=22
(--(A1>10)--(A1>20)) =(--(22>10)--(22>20))
= (--True--True)
= (1+1) = 2
Vậy nhé bạn.
Cho nên đối với bài toán này, thừa số chung ở đây là 100.000. Để làm được cách này, bạn phải cố gắng để lấy ra được thừa số chung này.

Đối với bài toán dạng khác sẽ có cách giải khác, không nhất thiết phải dùng IF (vì hạn chế của nó thì như member101575 đã trình bày.
 
Lần chỉnh sửa cuối:
Lại hỏi hàm if

Tôi có công thức tại B10=IF(A10="";"";(VLOOKUP(A10;'Nhập từ điển'!B3:C65536;2;0)))
Nhờ các bạn giúp tôi sửa lại hàm if sao cho nếu từ cần tra không có trong từ điển thì ="Không có từ này trong từ điển". Mình còn yếu Excel lắm, các bạn đừng cười nhé! Cảm ơn trước. Mình không đưa bài lên được!
 
Lần chỉnh sửa cuối:
Tôi có công thức tại B10=IF(A10="";"";(VLOOKUP(A10;'Nhập từ điển'!B3:C65536;2;0)))
Nhờ các bạn giúp tôi sửa lại hàm if sao cho nếu từ cần tra không có trong từ điển thì ="Không có từ này trong từ điển". Mình còn yếu Excel lắm, các bạn đừng cười nhé! Cảm ơn trước. Mình không đưa bài lên được!

Bạn dùng công thức này nhé:
B10=IF(A10="";"";IF(ISNA(VLOOKUP(A10;'Nhập từ điển'!B3:C65536;2;0));"Không có từ này trong tự điển";VLOOKUP(A10;'Nhập từ điển'!B3:C65536;2;0)))
 
Bạn dùng công thức này nhé:
Dùng thử công thức sau, chắc là nhanh hơn.
PHP:
B10=IF($A10="";"";IF(COUNTIF('Nhập từ điển'!$B$3:$B$65536;$A10)>0;"Không có từ này trong tự điển";VLOOKUP($A10;'Nhập từ điển'!$B$3:$C$65536;2;0)))

Và cũng nên tập thói quen là khi dùng Vlookup là nên có địa chỉ tuyệt đối $. Hàm này hầu như là vậy.
 
Cách xử lý hàm if khi vượt quá 7 lần trong excel 2003

Mình đang dùng excel 2003 và bị vấn đề về hàm if (mình cần dùng nhiều hơn 7 lần) nên muốn hỏi mọi người xem có cách nào khác để làm cho file mình đính kèm không.

1- If ở column O cho column B
2- Tương tự cho if ở column I
3- If cho column G

Cám ơn mọi người trước nhé
 

File đính kèm

Chuyển IF thành Lookup

Mình đang dùng excel 2003 và bị vấn đề về hàm if (mình cần dùng nhiều hơn 7 lần) nên muốn hỏi mọi người xem có cách nào khác để làm cho file mình đính kèm không.

1- If ở column O cho column B
2- Tương tự cho if ở column I
3- If cho column G

Cám ơn mọi người trước nhé


Một nguyên tắc chung khi dùng quá nhiều mệnh đề If lồng nhau đó là chuyển sang lập bảng để dùng các hàm lookup (VLookup, HLookup, Match...)
Bạn xem lại các điều kiện để tạo bảng dữ liệu thích hợp cho việc dò tìm.

-hvl-
 
Mình đang dùng excel 2003 và bị vấn đề về hàm if (mình cần dùng nhiều hơn 7 lần) nên muốn hỏi mọi người xem có cách nào khác để làm cho file mình đính kèm không.

1- If ở column O cho column B
2- Tương tự cho if ở column I
3- If cho column G

Cám ơn mọi người trước nhé

Gởi bạn 1 câu, câu sau thử tự làm cho quen bạn nhé.
 

File đính kèm

Một nguyên tắc chung khi dùng quá nhiều mệnh đề If lồng nhau đó là chuyển sang lập bảng để dùng các hàm lookup (VLookup, HLookup, Match...)
Bạn xem lại các điều kiện để tạo bảng dữ liệu thích hợp cho việc dò tìm.

-hvl-
Một ví dụ để hạn chế dùng IF nhiều lần:

Bạn tạo thêm một Sheet, trong đó bạn làm cái bảng dò như sau:
|
A​
|
B​
|
C​
|
D​
|
E​
|
1​
|
Mã​
|
ACC​
|
|
Mã​
|
ACT​
|
2​
|FOB|
5685​
| |FOB|Z275|
3​
|gift|
5685​
| |gift|Z275|
4​
|PP|
5670​
| |PP|Z210|
5​
|BIZ meal|
5670​
| |BIZ meal|Z275|
6​
|fee|
5775​
| |fee|Z210|
7​
|ROOm rental|
5775​
| |medical gift|Z270|
8​
|car rental|
5622​
| |infield|Z275|
9​
|medical gift|
5740​
| |team meeting|Z240|
10​
|hotel|
5655​
| |commercial meeting|Z240|
11​
|taxi|
5623​
| |training|Z315|
12​
| | | |sponsor|Z160|
Đặt tên cho khối dò thứ nhất (A1:B11) là ACC, và khối dò thứ hai (D1:E12) là ACT.
Rồi, tại H3, bạn dùng công thức:
=IF(ISNA(VLOOKUP(B3,ACC,2,0)),"",VLOOKUP(B3,ACC,2,0))
Và tại I3, bạn dùng công thức:
=IF(ISNA(VLOOKUP(B3,ACT,2,0)),
IF(ISNA(VLOOKUP(LEFT(B3,7),ACT,2,0)),
IF(ISNA(VLOOKUP(C3,ACT,2,0)),
IF(ISNA(VLOOKUP(LEFT(C3,7),ACT,2,0)),"",
VLOOKUP(LEFT(C3,7),ACT,2,0)),VLOOKUP(C3,ACT,2,0)),VLOOKUP(LEFT(B3,7),ACT,2,0)),VLOOKUP(B3,ACT,2,0))
Copy hai công thức này cho các ô còn lại.
 
Gởi bạn 1 câu, câu sau thử tự làm cho quen bạn nhé.

bạn ơi,

Câu 1: ok, mình làm được rồi
Câu 2 có problem. Problem ở cột I là 1 mã activity sẽ bị trùng nhau nên mình mới cần hỏi, bạn xem lại giúp nhé.
Vd: air ticket: có thể là Z275 hoặc Z315 hoặc Z240, tuỳ theo cột C để biết nó thuộc mã nào. Vd: air ticket - infield => Z275
air ticket - team meeting => Z240
Như vậy, cột I phải kết hợp cả cột B & C mới vlookup đúng thông tin mình cần, xin bạn chỉ giáo thêm nhé :)

Câu 3: bạn xem lại câu hỏi giúp mình nhé vì nó khác loại với 2 câu kia, mình muốn lồng hàm if vào nhau để copy cho toàn bộ cho nhanh nhưng không biết làm, mong được giúp đỡ

Cảm ơn nhiều lắm lắm
 
Đặt tên cho khối dò thứ nhất (A1:B11) là ACC, và khối dò thứ hai (D1:E12) là ACT.
Rồi, tại H3, bạn dùng công thức:
=IF(ISNA(VLOOKUP(B3,ACC,2,0)),"",VLOOKUP(B3,ACC,2,0))
Và tại I3, bạn dùng công thức:
=IF(ISNA(VLOOKUP(B3,ACT,2,0)),
IF(ISNA(VLOOKUP(LEFT(B3,7),ACT,2,0)),
IF(ISNA(VLOOKUP(C3,ACT,2,0)),
IF(ISNA(VLOOKUP(LEFT(C3,7),ACT,2,0)),"",
VLOOKUP(LEFT(C3,7),ACT,2,0)),VLOOKUP(C3,ACT,2,0)),VLOOKUP(LEFT(B3,7),ACT,2,0)),VLOOKUP(B3,ACT,2,0))

Mình hiểu công thức cho cột I nhưng cột H thì tại sao phải vlookup 2 lần cho cùng 1 mảng vậy?
 
Lần chỉnh sửa cuối:
Mình hiểu công thức cho cột I nhưng cột H thì tại sao phải vlookup 2 lần cho cùng 1 mảng vậy?
Đó là để đề phòng cái bạn muốn tìm không có. Người ta gọi là bẫy lỗi.
=IF(ISNA(VLOOKUP(.....)),"",VLOOKUP(.....))​
Nếu như VLOOKUP(.....) có lỗi #NA !, thì trả về "" (ô rỗng), còn nếu VLOOKUP(.....) không có lỗi, thì lấy giá trị nó tìm được.
 
Và tại I3, bạn dùng công thức:
=IF(ISNA(VLOOKUP(B3,ACT,2,0)),
IF(ISNA(VLOOKUP(LEFT(B3,7),ACT,2,0)),
IF(ISNA(VLOOKUP(C3,ACT,2,0)),
IF(ISNA(VLOOKUP(LEFT(C3,7),ACT,2,0)),"",
VLOOKUP(LEFT(C3,7),ACT,2,0)),VLOOKUP(C3,ACT,2,0)),VLOOKUP(LEFT(B3,7),ACT,2,0)),VLOOKUP(B3,ACT,2,0))

Mình thử theo cách này thì work nhưng có 1 số điều mình còn thắc mắc là:

- Cột B khôngc cần dùng left vì kí tự luôn luôn giống ô act hay acc nên mình đã đơn giản bớt thành hàm như sau có đúng không?
=IF(ISNA(VLOOKUP(B3,ACT,2,0)),
IF(ISNA(VLOOKUP(C3,ACT,2,0)),
IF(ISNA(VLOOKUP(LEFT(C3,7),ACT,2,0)),"",
VLOOKUP(LEFT(C3,7),ACT,2,0)),VLOOKUP(C3,ACT,2,0)),VLOOKUP(B3,ACT,2,0))
- Cột C sẽ cần dùng left nhưng có khi phải left ít hơn 7 kí tự hoặc nhiều hơn
Vd: Data là roll-out = Z145, cột C là roll-out meeting in Hanoi
Khi left 7 cột C sẽ là "roll-ou" nên nó trả về ô rỗng, vậy có cách nào khắc phục không?
 
Vấn đề hàm IF cần các bạn tư vấn

Mình có file này, các bạn tư vấn giúp mình nhé, mới làm excel nên còn nhiều cái băn khoăn quá
 

File đính kèm

Hỏi về hàm IF

Mình có bài toán này cần sự giúp đỡ của mọi người:
Có các cột như sau
Cột tên
Cột điểm môn 1
Cột điểm môn 2
Cột điểm môn 3
Cột xếp loại
Cột môn thi lại
Hãy điền vào cột xếp loại, biết rằng:
Nếu một trong ba môn dưới điểm trung bình thì điền là "Thi lại".
Tại cột thi lại, hãy điền tên các môn bị thi lại.
Xin mọi người giúp đỡ.
 
Hàm IF thỏa mãn 2 điều kiện

Thân chào cả nhà !
Tôi có dữ liệu này muốn nhờ các bạn giúp.
Tôi muốn số lượng hiện ra tương ứng mã hàng và tên tổ SX
Tôi còn hơi yếu về công thức nên nhờ cả nhà.
Rất cảm ơn cả nhà.
Có file đính kèm.
 

File đính kèm

Mình có bài toán này cần sự giúp đỡ của mọi người:
Có các cột như sau
Cột tên
Cột điểm môn 1
Cột điểm môn 2
Cột điểm môn 3
Cột xếp loại
Cột môn thi lại
Hãy điền vào cột xếp loại, biết rằng:
Nếu một trong ba môn dưới điểm trung bình thì điền là "Thi lại".
Tại cột thi lại, hãy điền tên các môn bị thi lại.
Xin mọi người giúp đỡ.

Làm cho bạn file giả lập luôn nè.
 

File đính kèm

Thân chào cả nhà !
Tôi có dữ liệu này muốn nhờ các bạn giúp.
Tôi muốn số lượng hiện ra tương ứng mã hàng và tên tổ SX
Tôi còn hơi yếu về công thức nên nhờ cả nhà.
Rất cảm ơn cả nhà.
Có file đính kèm.

Bạn copy công thức này vào file xem nha.
Mã:
=INDEX($A$5:$L$10,MATCH($C$17,$A$5:$A$10,),MATCH($C$16,$A$5:$L$5,))
 
Bạn dùng ct dưới xem.
Mã:
=INDEX($A$5:$L$10,MATCH(C17,A5:A10,0),MATCH(C16,A5:L5,0))
 
Dùng hàm if và lookup?

Mình có công việc như sau:

Tại sheet 1 của file chinhquy.xls có:
|
A​
|
B​
|
C​
|
1​
|
Họ tên​
|
Số tiết quy định​
|
Số tiết thực dạy​
|
2​
|Lan|
210​
|
250​
|
3​
|Mai|
240​
|
150​
|
4​
|Hương|
210​
|
210​
|

Tại sheet 2 của file trên có:
|
A​
|
B​
|
1​
|
Họ tên​
|
Số tiết thực dạy​
|
2​
|Lan|
100​
|
3​
|Mai|
120​
|
4​
|Nhàn|
110​
|
5​
|Hương|
45​
|
6​
|Liên|
120​
|

Tại sheet 3 của file trên có:
|
A​
|
B​
|
C​
|
1​
|
Họ tên​
|
Vượt giờ​
|
Hợp đồng​
|
2​
|Lan| | |
3​
|Mai| | |
4​
|Nhàn| | |
5​
|Hương| | |
6​
|Liên| | |
  1. Nếu Số tiết thực dạy trong sheet 1 >= số tiết quy định thì điền vào cột vượt giờ =số tiết thực dạy-số tiết quy định và điền vào cột hợp đồng số tiết thực dạy trong sheet 3(nếu có tên người đó trong sheet 2) (và tô đỏ số tiết vượt giờ)
  2. Nếu số tiết thực dạy trong sheet 1 < số tiết quy định thì điền vào cột hợp đồng = tổng số tiết thực dạy ở sheet 1 và sheet 2
Mình rất muốn gửi file lên nhưng thú thật mình không biết làm thế nào để gửi mặc dù đã dùng "file đính kèm".
Mong các bạn chỉ bảo mình luôn
 
Chỉnh sửa lần cuối bởi điều hành viên:
Trả lời cách gởi file trước:

Bạn xem hình, mình chọn tải file từ máy, sau đó chọn file và bấm thêm file, sau đó đóng lại .
Chú ý về dung lượng của file upload, không được quá dung lượng cho phép.

vậy thôi á, bạn làm được tốt mà. Thử lại nha
 

File đính kèm

  • ScreenHunter_2.JPG
    ScreenHunter_2.JPG
    111.5 KB · Đọc: 37
Có thể file dung lượng lớn hơn cho cho phép (đối với từng loại đuôi)
Bạn tải file sau và chuyển sáng dạng nén 7z nhé
------
Sau đó gửi file lên thôi

ST
 

File đính kèm

Không biết ý bạn có phải thế này không

Xin lỗi, mình attach bổ sung.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Hàm if và vlookup

Xin lỗi, mình attach bổ sung.
Xin cảm ơn các bạn đã chỉ cho mình cách làm bài này. Nhưng có thể do mình nói không thoát ý nên bạn Leo hiểu nhầm.
Về cách làm của bạn Leo_178, bạn đã giúp mình tính được và điền số tiết vượt giờ vào sheet 3.Nhưng trong cột hợp đồng thì chưa đúng ý mình cho lắm. Vì nếu làm như bạn, thì người nào có tiết vượt giờ rồi là không được cộng số tiết ở sheet 2 vào cột hợp đồng nữa.
Chẳng hạn trong sheet 1 có Lan vượt giờ 40 tiết
Nhưng trong sheet 2 Lan có thêm 100 tiết dạy nữa thì trong cột hợp đồng của Lan phải là 100 tiết chứ không phải là 0 tiết. Và phần tô đỏ số tiết vượt giờ nữa. Mong các bạn giúp mình lần nữa nhé.
 
Lần chỉnh sửa cuối:
Bạn xem trong file có đúng ý bạn chưa nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn bác salam, nhung mong bác chỉ giáo thêm cho e về hàm ISNA vì e muốn hiểu để lần sau gặp các trường hợp tương tự thì còn biết cách mà làm, chứ khôgn phải học vẹt. Mong bác giúp đỡ.
 
Giúp em cách tính đơn giản hơn trong trường hợp dùng hàm if dài quá!

Em có bài toán ra tính tiền điện của một công ty với 5 định mức tiền khác nhau:
1-30: 500d
31-50:700d
51-70:900d
70-100:1.500d
100-150:2500d.
Nếu em sử dụng hàm if đơn giản thì công thức dài quá! Có ai có cách ngắn hơn giúp em không! E cám ơn!

progress.gif
 
Em có bài toán ra tính tiền điện của một công ty với 5 định mức tiền khác nhau:
1-30: 500d
31-50:700d
51-70:900d
70-100:1.500d
100-150:2500d.
Nếu em sử dụng hàm if đơn giản thì công thức dài quá! Có ai có cách ngắn hơn giúp em không! E cám ơn!


progress.gif
Nếu muốn ngắn hơn chắc chỉ có một cách là dùng Vlookup kết hợp với bảng phụ.
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn các pác nhé!
Không ngờ được các bác chỉ giáo nhanh như vậy!
Đa tạ
 
Có thể dùng hàm khác thay thế hàm IF?

Có cách nào thay đổi hàm if bằng 1 hàm khác để liệt kê danh sách ngắn gọn hơn, nếu dùng hàm if thì dài lắm.
Mọi người giúp mình nha! Thanks
 
Lần chỉnh sửa cuối:
Quan trọng là bạn phải cho biết cái danh sách đó như thế nào đã.
bạn có thể tham khảo bài này xem có đúng theo ý bạn không hoặc đưa file lên thì mọi người mới hiểu được bạn muốn cụ thể là gì.
 

File đính kèm

Lần chỉnh sửa cuối:
File đính kèm đây, mọi người xem rồi làm giúp nha!
Cái này dùng hàm JointIf (tôi đã đăng lên diển đàn)
PHP:
Option Explicit

Function JoinIf(VungDK As Range, DK As Variant, VungKQ As Range, Optional PC As Variant) As String
  Dim i As Long, Dem As Long, Temp As String
  Dem = VungDK.Count
  If IsMissing(PC) Then PC = ""
  For i = 1 To Dem
    If VungDK(i) = DK Then Temp = Temp & PC & VungKQ(i)
  Next
  JoinIf = Mid(Temp, Len(PC) + 1, Len(Temp))
End Function
Xem file nha
 

File đính kèm

Hàm IF kết hợp với AND.

Mọi người xem dùm em cong thức này sai ở chổ nào mà sao em làm khôg được vậy nè.
xem giúp em các bác nhé.

=IF($I10>=1,150000,0)+IF(AND($J10>=3,$J10<5),75000,IF($J10>=5,150000,0))+IF(AND($K10>=1,$K10<2,50000,IF(AND($K10>=2,$K10<3,100000,IF($K10>=3,150000,0))))
 
Mọi người xem dùm em cong thức này sai ở chổ nào mà sao em làm khôg được vậy nè.
xem giúp em các bác nhé.

=IF($I10>=1,150000,0)+IF(AND($J10>=3,$J10<5),75000,IF($J10>=5,150000,0))+IF(AND($K10>=1,$K10<2,50000,IF(AND($K10>=2,$K10<3,100000,IF($K10>=3,150000,0))))
Bạn sửa thành:
'=IF($I10>=1,150000,0)+IF(AND($J10>=3,$J10<5),75000 ,IF($J10>=5,150000,0))+IF(AND($K10>=1,$K10<2),50000 ,IF(AND($K10>=2,$K10<3),100000,IF($K10>=3,150000,0) )))

Thiếu dấu " ) " ở hàm and.
 
Lần chỉnh sửa cuối:
Mọi người xem dùm em cong thức này sai ở chổ nào mà sao em làm khôg được vậy nè.
xem giúp em các bác nhé.

=IF($I10>=1,150000,0)+IF(AND($J10>=3,$J10<5),75000,IF($J10>=5,150000,0))+IF(AND($K10>=1,$K10<2,50000,IF(AND($K10>=2,$K10<3,100000,IF($K10>=3,150000,0))))
Vấn đề này không cần dùng If bạn ơi! bạn thử công thức này xem sao nhé:
= ($I10>=1)*150000+($J10>=3)*($J10<5)*75000+($J10>=5)*150000+($K10>=1)*($K10<2)*50000+($K10>=2)*($K10<3)*100000+($K10>=3)*150000
 
Xin hỏi về Công thức If + and

Các Bạn làm ơn cho Tôi hỏi :Công thức tính thưởng cho nhân viên
Tiền thưởng của nhân viên phụ thuộc 02 yếu tố :
-Nếu Doanh số Đạt >= Dsố khoán thì được thưởng 500.000đ
và : Không phạm lỗi nào ( Điểm trừ =0) thì được hưởng trọn 500.000
Bị trừ 1 lỗi : được hưởng 70% tiền thưởng =350.000
Bị trừ 02 Lỗi : Được hưởng 50% Tiền thưởng =250.000
Bị trừ từ 3 lỗi trở lên : Không được thưởng=0

Vì mới học Excel nên tôi phải làm thủ công, Mong các Bạn chỉ giúp cách viết công thức lồng vào nhau
Xin gởi File kèm theo
Cảm ơn Các Bạn nhiều
 

File đính kèm

Có thể làm đơn giản như sau bạn nhé:
E5=IF(C5>=B5;1;0)*IF(F5=0;1;IF(F5=1;0.7;IF(F5=2;0.5;0)))*500000
 
Tại sao không làm cho nó gọn hơn:

Tôi nghĩ rất có thể còn gọn hơn nữa đấy
Cách của ndu thì gọn nhưng kết quả không đúng với yêu cầu của em. Nhưng em đã tìm ra sai sót vì sao công thức ko chạy được rồi.theo trả lời của bác TKT :Thiếu dấu " ) " ở hàm and.
Em gửi file bác ndu xem kết quả từ công thức của bác và công thức của em cho ra 2 kết quả khác nhau nè.
Dù sao cũng cảm ơn đã cho ý kiến thêm 1 cách làm hay nữa.
 
=IF($I10>=1,150000,0)+IF(AND($J10>=3,$J10<5),75000 ,IF($J10>=5,150000,0))+IF(AND($K10>=1,$K10<2,50000 ,IF(AND($K10>=2,$K10<3,100000,IF($K10>=3,150000,0) )))
Theo tôi thì làm như này ngắn hơn được chút ít và không sợ bị thiếu ngoặc:
=IF($I10>=1,150000,0)+IF($J10>=5,150000,IF($J10>=3,75000,0))
+IF($K10>=3,150000,IF($K10>=2,100000,IF($K10>=1,50000,0)))
 
Cảm ơn Bạn cop_kh nhiều
Cách của Bạn rất hay nhưng xin chỉ cho tôi cách dùng hàm IF và hàm AND lồng nhau vì trong ví dụ 2 sau đây Ban Giám đốc lại đưa ra Quy định : Nếu nhân viên mắc 2 lỗi hoặc cả nhóm không đạt 70% chỉ tiêu Dsố thì chỉ được hưởng 70% tiền thưởng ( Cho dù có nhân viên nào đó đạt chỉ tiêu cá nhân và không bi lỗi nào thì nhân viên đó cũng chỉ được hưởng 70% tiền thưởng )
Xin gởi kèm đây Bai toán thứ 2
 

File đính kèm

Các Bạn làm ơn cho Tôi hỏi :Công thức tính thưởng cho nhân viên
Tiền thưởng của nhân viên phụ thuộc 02 yếu tố :
-Nếu Doanh số Đạt >= Dsố khoán thì được thưởng 500.000đ
và : Không phạm lỗi nào ( Điểm trừ =0) thì được hưởng trọn 500.000
Bị trừ 1 lỗi : được hưởng 70% tiền thưởng =350.000
Bị trừ 02 Lỗi : Được hưởng 50% Tiền thưởng =250.000
Bị trừ từ 3 lỗi trở lên : Không được thưởng=0

Vì mới học Excel nên tôi phải làm thủ công, Mong các Bạn chỉ giúp cách viết công thức lồng vào nhau
Xin gởi File kèm theo
Cảm ơn Các Bạn nhiều

Yêu cầu này của bạn không cần dùng If. Bạn xem file đính kèm. Chú ý công thức tại cột [Thưởng Doanh Số] và [Thực nhận], cả hai cột này đều không cần dùng IF
 

File đính kèm

Cảm ơn Bạn cop_kh nhiều
Cách của Bạn rất hay nhưng xin chỉ cho tôi cách dùng hàm IF và hàm AND lồng nhau vì trong ví dụ 2 sau đây Ban Giám đốc lại đưa ra Quy định : Nếu nhân viên mắc 2 lỗi hoặc cả nhóm không đạt 70% chỉ tiêu Dsố thì chỉ được hưởng 70% tiền thưởng ( Cho dù có nhân viên nào đó đạt chỉ tiêu cá nhân và không bi lỗi nào thì nhân viên đó cũng chỉ được hưởng 70% tiền thưởng )
Xin gởi kèm đây Bai toán thứ 2

Vì bạn nói chưa rõ nên mình làm theo hướng này. Nếu chưa đúng, bạn có thể ghi kết quả mong muốn vào trong file và gửi lên lại nhé!
 

File đính kèm

Cách của ndu thì gọn nhưng kết quả không đúng với yêu cầu của em. Nhưng em đã tìm ra sai sót vì sao công thức ko chạy được rồi.theo trả lời của bác TKT :Thiếu dấu " ) " ở hàm and.
Em gửi file bác ndu xem kết quả từ công thức của bác và công thức của em cho ra 2 kết quả khác nhau nè.
Dù sao cũng cảm ơn đã cho ý kiến thêm 1 cách làm hay nữa.
Đương nhiên tôi biết công thức trên có thể sai... Dù sao đây chỉ là gợi ý... Tuy nhiên bạn hảy để ý các điều kiện tăng dần đều như thế thì không nên dùng IF
Nếu có file đính kèm, tôi nghĩ tôi có thể nghĩ ra được công thức không cần IF
 
Vì bạn nói chưa rõ nên mình làm theo hướng này. Nếu chưa đúng, bạn có thể ghi kết quả mong muốn vào trong file và gửi lên lại nhé!

Cảm ơn Bạn Ca_dafi nhiều
Đúng là Tôi nói không rõ ý nên các Bạn khó giúp. Tôi xin trình bày lại, cụ thể trong file kèm theo đây
 

File đính kèm

(I10>1)*150000+LOOKUP(J10,{0,3,5},{0,75000,150000 })+MIN(K10,3)*50000
Tôi cũng chưa thử công thức nhưng theo logic của anh ndu96081631
thì có lẽ công thức này sẽ đúng, bạn Yumi_000 kiểm tra lại thử xem. Cách này quả thật rất hay.
(I10>1)*150000+LOOKUP(J10,{0,3,5},{0,75000,150000 })+LOOKUP(K10,{0,1,2,3},{0,50000,100000,150000})
To: ndu96081631
Anh có thể giải thích rõ công thức LOOKUP(K10,{0,1,2,3},{0,50000,100000,150000}) được không? thanks.
 
To: ndu96081631
Anh có thể giải thích rõ công thức LOOKUP(K10,{0,1,2,3},{0,50000,100000,150000}) được không? thanks.
Nói nôm na là:
K10 = 0 thì lấy số 0
K10 = 1 thì lấy số 50.000
K10 = 2 thì lấy số 100.000
K10 = 3 thì lấy số 150.000
Lưu ý: 2 mãng {0,1,2,3}{0,50000,100000,150000} là những số được sắp xếp tăng dần ---> Nếu sắp lộn xộn là nó "đi đời" luôn
Ví du
LOOKUP(K10,{0,6,2,1},{0,50000,200000,150000}) ---> Kiểu này thì thua
 
Hàm if rắc rối?????

ĐTHÊM(H3)
ĐTB(J3)
ĐKÉTQUẢ: ĐTB >=5 thì ĐKẺTQUA =ĐTB, NGƯỢC LẠI,THÌ ĐKÊTQUẢ=ĐTB+ĐTHÊM NHƯNG CỘNG LẠI >5 THÌ CHỈ LẤY 5
???????????????????/ CẢM ƠN !​
 
If(j3>=5,j3,min(h3+j3,5))
 
Xin chào các bạn.

Mình có file excel như sau
Nếu chọn sản phẩm là A chạy ở máy 1 thì sẽ tương ứng có thời gian là t1. Nhưng nếu chạy ở máy 2 thì sẽ có thời gian tương ứng là t2. Mình sẽ dùng kết quả này để tính toán ở sheet khác. Vấn đề là mình có nhiều hơn 7máy, mà excel 2003 lại không cho phép lồng hàm if vào nhau quá 7lần! Với excel 2007 thì không vấn đề gì.

Mong các bạn có cách khác chỉ giúp.

Xin cám ơn.

Xin lỗi vì quên file đính kèm. Nhân tiện mình hỏi thêm là nếu hàm If kết hợp với Vlookup thi tối đa la đươc mấy lần lặp?vì mình dùng 2007 cũng chỉ thấy đến lần thứ 8 là đã báo lỗi rồi.

Thân.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Bạn dùng công thức dưới.
Mã:
=INDEX($D$12:$M$17,MATCH(P12,$C$12:$C$17,0),MATCH(Q12,$D$11:$M$11,0))
 
Lần chỉnh sửa cuối:
Xin góp một công thức khác, ngắn hơn tí:
=VLOOKUP(P12, C12:M17, MATCH(Q12, C11:M11, 0), 0)​
 
Cám ơn bạn nhiều nha, công thức rất gọn gàng mà hợp lý!

Thân.
 
Dùng lệnh IF trong trường hợp này có được ko?

Em có vấn đề cần giải quyết.
Em có 2 ô là C10 và E10 là list.
Ô C10 có 3 giá trị là: Tiền mặt, chuyển khoản, công nợ.
Ô E10 có những giá trị sau: 1 ngày, 2 ngày,....,30 ngày.
Em muốn là khi em chọn ở Ô C10 là Công nợ thì Ô E10 hiện lên giá trị từ 1 ngày, 2 ngày,...,30 ngày để lựa chọn. Còn trong trường hợp khác thì Ô E10 là trống.
 
Em có vấn đề cần giải quyết.
Em có 2 ô là C10 và E10 là list.
Ô C10 có 3 giá trị là: Tiền mặt, chuyển khoản, công nợ.
Ô E10 có những giá trị sau: 1 ngày, 2 ngày,....,30 ngày.
Em muốn là khi em chọn ở Ô C10 là Công nợ thì Ô E10 hiện lên giá trị từ 1 ngày, 2 ngày,...,30 ngày để lựa chọn. Còn trong trường hợp khác thì Ô E10 là trống.

Có phải ý của bạn như thế này không? (Dùng Validation)
 

File đính kèm

Cái này 1 lần tôi đã gặp phải và bác anhtuan1066 đã giúp triệt để rồi. Ngày trước tôi cũng làm giống bạn ca_dafi, nhưng sau khi lựa chọn Công nợ xong và chọn 1 ngày nào đấy, sau đó chọn sang Chuyển khoản thì ngày vẫn giữ nguyên. Và trường hợp tổng quát như bác anhtuan1066 làm có thể mở rộng list, vì có thể lúc đó if không giải quyết được hết.
 

File đính kèm

Ặc. Phần list thứ 2 em làm nó toàn báo lỗi bác ah. Làm bên file bác gửi thì ko sao nhưng mang sang file em cần làm thì nó báo lỗi: "A name range you specified cannot be found". Em không hiểu sao cả.
 
Status
Không mở trả lời sau này.

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

Back
Top Bottom