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

Liên hệ QC
Status
Không mở trả lời sau này.
Theo tôi, việc bạn dùng IF nhiều sẽ không có vấn đề gì trục trặc cả (vì trong help không thấy khuyến cáo là bao nhiêu lần đâu), vấn đề ở đây khi bạn dùng hàm IF thì phải rõ ràng từng cú pháp không dược trùng nhau. Cái yếu điểm của việc dùng hàm IF lồng IF nhiều rất dễ gây ra nhầm lẫn và rối rắm nên ít được sử dụng.
 
Theo tôi, việc bạn dùng IF nhiều sẽ không có vấn đề gì trục trặc cả (vì trong help không thấy khuyến cáo là bao nhiêu lần đâu).
Theo bạn thì dùng hàm if vô tư hic ... hic ... bạn thử lại xem. Không lên dùng hàm if nhiều vì công thức sẽ dài và chậm cần có giải pháp khác dựa vào yêu cầu, bố trí dữ liệu của file.
 
Trích Sa lam "Theo bạn thì dùng hàm if vô tư hic ... hic ... bạn thử lại xem. Không lên dùng hàm if nhiều vì công thức sẽ dài và chậm cần có giải pháp khác dựa vào yêu cầu, bố trí dữ liệu của file"
Như tôi đã nói dùng hàm If nhiều là không nên nhưng dùng nhiều hơn 7 lần là o sao cả miễn là cú pháp rõ ràng và không trùng lặp. Mời bạn xem 1 đoạn code trích của tôi đã viết khá lâu rồi mà đến nay sài vẫn ổn:
If TsHD >= 1.5 And TsE >= 5 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
ElseIf TsHD >= 1.3 And TsE >= 7 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
ElseIf TsHD >= 1.1 And TsE >= 10 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
ElseIf TsHD >= 0.98 And TsE >= 15 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
ElseIf TsHD >= 0.87 And TsE >= 20 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
ElseIf TsHD >= 0.75 And TsE >= 25 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
ElseIf TsHD >= 0.64 And TsE >= 30 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
ElseIf TsHD >= 0.5 And TsE >= 40 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
ElseIf TsHD >= 0.44 And TsE >= 50 Then
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_3.JPG")
End With
Else
With FrmTaxp.ImgTaxp
.AutoSize = False
.PictureSizeMode = fmPictureSizeModeStretch
.Picture = LoadPicture("D:\TRUNG\TONGHOP\DLTHAMCHIEU\Hinh3_2.JPG")
End With
End If
 
Giải thích ý nghĩa ký tự này trong hàm IF.

Kém quá các anh chị ơi!
Tôi tính ra số ngày của khoảng thời gian cho trước bằng công thức này
IF(I260="";"";(J260-I260))+1 (công thức này tôi chép của ai đó trên diễn đàn)
xong không hiểu cái khoảng "" có ý nghĩa gì trong hàm trên.
Mong được chỉ giáo.
 
- "" chỉ một ô rỗng
- Nếu I260 là một ô rỗng, thì không làm gì tức là tạo ra một ô rỗng
- Nếu I260 ko phải là một ô rỗng thì =(J260-I260))+1
 
Là ô trống thôi. Nếu I260 là ô trống thì nó sẽ nhận, còn không thì nó = (J260-I260))+1
 
Cảm ơn các anh chị!
Như vậy "" chính là ô trống.
 
Cảm ơn các anh chị!
Như vậy "" chính là ô trống.
Bạn định nghĩa: "" là ô trống thì mọi người cười đấy.
Chính xác, "" là một ký tự rỗng

Khi ta nhập một ký tự rỗng vào một ô, có nghĩa là ta chẳng nhập gì vào ô đó cả, và ô đó vẫn là ô rỗng. Hay một ô rỗng thì tương đương với một ô đang chứa ký tự rỗng ("").

 
Hàm IF thỏa mản 3 diều kiện

chào các bạn trong diển đàn
em có 1 thắc mắc nhờ các bạn hướng dẩn , nếu sử dụng hàm if thì chĩ thỏa mản 2 điều kiện mà thôi, còn 3 điều kiện thì phải dùng hàm gì ? thí dụ ô A1 là 1 số bất kỳ ( 5 chẳng hạn ) em có 3 điều kiện C1=boxes , C2=boxe , ở ô B1 nếu A1>1 = C1 , nếu A1=1 thì A1=C2 , nếu A1<1 thì ô B1 là ô trống
 
Sao lại không được hở bạn?

B1 = IF(A1>1, C1, IF(A1=1, C2, ""))
 
hình như công thức của bạn có chổ nào không đúng ? thử hoài không được
 

File đính kèm

  • Classeur3.xls
    13.5 KB · Đọc: 34
Lần chỉnh sửa cuối:
Bạn thử thay dấu , bằng dấu ; xem sao chứ theo dữ liệu ban đưa ra cách giả quyết cua BNTT là đúng rồi
bài của bạn Anhphuong là dúng
Muốn biết dùng dấu gì, bạn vào Control Panel, mục Customize Regional Options, trong thẻ Number, mục List separator xem là dấu gì , hay ; và bạn có thể thay đổi được
Thân
 
Chỉnh sửa lần cuối bởi điều hành viên:
xử dụng hàm if để tìm 1 giá trị

Chào các bạn
cho em hỏi , có thể dùng hàm if để tính 1 giá trị đúng hay không đúng ( không phải số mà là chử ) ex : ở ô E3 nếu có 1 giá trị ( bằng chử ) thì ở ô B1 có giá trị của nó ; còn nếu E3 trống thì giá trị ở ô B1=""
 

File đính kèm

  • valeur.xls
    17.5 KB · Đọc: 39
Chào các bạn
cho em hỏi , có thể dùng hàm if để tính 1 giá trị đúng hay không đúng ( không phải số mà là chử ) ex : ở ô E3 nếu có 1 giá trị ( bằng chử ) thì ở ô B1 có giá trị của nó ; còn nếu E3 trống thì giá trị ở ô B1=""
Xin hỏi bạn: Có thể đặt công thức vào 1 cột trống được không? Cột C chẳng hạn!
Và nếu thế thì câu hỏi của bạn cũng chính là IF rồi còn gì
Mã:
C1 =IF($E$3="","",B1)
 
Chào các bạn
cho em hỏi , có thể dùng hàm if để tính 1 giá trị đúng hay không đúng ( không phải số mà là chử ) ex : ở ô E3 nếu có 1 giá trị ( bằng chử ) thì ở ô B1 có giá trị của nó ; còn nếu E3 trống thì giá trị ở ô B1=""
Dấu đi thì được (dùng Conditional Formating), chứ làm cho nó = "" thì e rằng khó bạn à.

Tôi nói rằng khó, bởi vì, chúng ta có thể làm cho B1 đang có con số 15 trở thành rỗng được, giống như là xóa đi, nhưng sau đó, thì làm sao mà đặt lại con số đã xóa vào B1 được nữa? Excel đâu có nhớ nó đã xóa cái gì?

Như vầy thì được nè:
ở ô E3 nếu có 1 giá trị (bằng chữ) thì ở ô B1 có giá trị bằng giá trị ở C1 (chẳng hạn); còn nếu E3 trống thì giá trị ở ô B1 = ""
 
Hàm if có thể dùng ngày tháng hay không?

Mình muốn lập một cột tự động hiển thị là đúng nếu thời gian nhỏ hơn hoặc bằng ngày 15/10/2008 hoặc sai nếu lớn hơn 15/10/2008. Mình nhập lệnh =if(E2<=15/10/2008, "đúng", "sai" nhưng excel chỉ hiểu được là đúng (không hiển thị sai khi ngày tháng lớn hơn 15/10/2008.
Cho mình hỏi, nhập ngày tháng năm, excel có thể thực hiện không? nếu có, xin vui lòng giúp đỡ cho câu lệnh đúng. MÌnh cũng đang cần gấp.
Rất cảm ơn các chỉ bảo của mọi người
 
Có thể do bạn nhập thời gian không đúng quy định của Excel bạn nhập lại theo tháng trước ngày sau và phải có dấu ngoặc kép nữa.
=if(E2<="10/15/2008", "đúng", "sai")
 
cảm ơn chỉ dẫn

Có thể do bạn nhập thời gian không đúng quy định của Excel bạn nhập lại theo tháng trước ngày sau và phải có dấu ngoặc kép nữa.
=if(E2<="10/15/2008", "đúng", "sai")
Cảm ơn bạn, tuy nhiên cũng không được. Ngày tháng đảo nhau hoặc có dấu ngoặc kép hay không,excel cũng chỉ thực hiện được lệnh "đúng" thôi
 
Bạn dùng công thức sau nhé: '=IF(DATE(YEAR(E2),MONTH(E2),DAY(E2))<=DATE(2008,10,15),"đúng","sai")
 
Status
Không mở trả lời sau này.
Web KT
Back
Top Bottom