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.
Chào bạn !
Lỗi #NUM! là lỗi về giá trị của số trong công thức ( có số âm không ? ). Mình thấy Workbook bất kì mình làm trên máy vẫn ra kết quả theo công thức mà.
Bạn có thể up file được không để các bạn trên GPE giúp cho.
Thân chào
Đúng như mình nghĩ file của bạn có số ≤ 0, như bạn BNTT giải thích rất rõ
Thân
 
cac ban oi, minh muon hoi ve bang tinh nhap xuat ton trong excel ma ko biet công thức cụ thể, ví dụ, thành tiền của tồn cuối kỳ la công thức nào,,giúp mình
 
cac ban oi, minh muon hoi ve bang tinh nhap xuat ton trong excel ma ko biet công thức cụ thể, ví dụ, thành tiền của tồn cuối kỳ la công thức nào,,giúp mình


Tồn cuối kỳ = Tồn đầu kỳ + Nhập trong kỳ - Xuất trong kỳ
Tính chung cho cả phần Số lượng và Thành Tiền

Quá đơn giản mà
 
giúp mình hàm if

các bạn tính hộ mình cột tiền theo ngày lẻ ở với điều kiện ghi bên dưới nhé.thanks
 

File đính kèm

Hỏi về hàm if trong hàm if

Các bạn chỉ cho mình cấu trúc hàm If lồng trong hàm If với.Thanks.
 
Bạn tải file này về xem nhé.
Trong này Hàm if lồng thêm 1 hàm if thôi. Trong công thức có kèm theo bảng giải ở dưới.
 
Lần chỉnh sửa cuối:
Hàm if thường dùng khi có 3 diều kiện trở lên
VD: if(là điều kiện 1, kết quả 1, if(là điều kiện 2, lấy kết quả 2,if( ....., kết quả 3)....))),kết quả còn lại)
 
re:

Hàm if lồng nhau thì bạn làm theo thế này nhé:
+ Công thức hàm if là: = if( điều kiện, kết quả nếu đk đúng, kết quả nếu điều kiện sai)
Từ đó bạn có thể phát triển lên bằng cách lồng hàm if vào điều kiện đúng hoặc sai.
lúc đó lồng hàm if trở thành:
if(đk1, kqđ1, if(đk2,kqđ2,kqs2)) công thức này cho ra kết quả nếu:
+ đk1 là đúng thì kết quả là kqđ1
+Nếu điều kiện đk1 sai thì kiểm tra đk2 và có 2 trường hợp/
đk2 đúng thì kết quả là kqđ2
đk2 sai thì kết quả là kqs2
v.vvv
Bạn có thể phát triển nó lên như
if(đk1, if(đk2,kqđ2,kqs2),kqs1) ...hoặc chèn thêm nhiều hàm if vào
Bonne chance!
Allez! ciao
 
Các bạn có thể giải giùm mình bài này không?Chân thành cảm ơn.
 

File đính kèm

Anh chị ơi, giúp em bài này với sao nó cứ FAILSE

Đề bài ỡ ô C5 như sau: Nếu học sinh hoặc sinh viên và phãi thuộc KV A thì đánh dấu "X" ngựoc lại thì đễ trống. mà sao em làm thì đối tượng khác nó cứ FAILSE
 

File đính kèm

Xem dùm em ham if

Hàm if của em sai chỗ nào,anh chị nào có hàm nào khác hay chỉ em vối.hàm này thủ công quá
cám ơn
 

File đính kèm

Nó false là do tại những ô đó nó là "ĐỐI TƯỢNG KHÁC" không phải là HỌC SINH HOẶC SINH VIÊN. đấy bạn.
Bạn dùng công thức này nhé!

=IF(AND(C2="A";OR(B2="SINH VIÊN";B2="HỌC SINH"));"X";"")
 
Theo mình thì tại Ô j2 ban phải viết công thức là
=IF(AND(OR(B2="HỌC SINH",B2="SINH VIÊN"),C2="A"),"X"," ")
 
Trong Excel 2003 bạn chỉ có thể lồng tối đa 7 vòng IF. Nếu tính cả vòng IF ở ngoài là 8 vì vậy mà công thức của bạn báo lỗi. bài này tốt nhất là bạn tạo vùng dữ liệu rồi dùng hàm VLOOKUP để làm. Bạn xem trong file nhé!!
 

File đính kèm

Bạn dùng hàm này tại cột B1 nhé:

=IF(A1="a";1;MATCH(A1;$A$2:$A$12;)+1)
 
Bạn dùng hàm này tại cột B1 nhé:

=IF(A1="a";1;MATCH(A1;$A$2:$A$12;)+1)
 
Nói chung là đúng chỉ sai chỗ mấy cái dữ liệu kiểu số không cần để trong dấu "" đâu
 
Giúp mình hàm If

Mình gửi FILE mong các bạn giúp.Cảm ơn nhiều
 

File đính kèm

Hàm của bạn không có kết quả khi các Cell đã lắp sẵn công thức và chứaTEXT, bạn xem lại giúp mình đi. Cảm ơn nhiều
 
Lần chỉnh sửa cuối:
Hàm của bạn không có kết quả khi các Cell đã lắp sẵn công thức và chứaTEXT, bạn xem lại giúp mình đi. Cảm ơn nhiều
Bạn giả lập dử liệu như thế thì tôi làm thế... Còn muốn biết đúng sai thế nào, bạn đưa dử liệu thật của bạn lên đây!
Nhắc thêm với các bạn khác:
- Muốn nhận được sự trợ giúp tốt, các bạn nên đưa câu hỏi rõ ràng
- Với 1 yêu cầu phức tạp nên có file đính kèm
- Dử liệu trong file không cần là dử liệu thật, nhưng phải đảm bảo nó có tính tổng quát và gần với dử liệu thật nhất
Điều này đã từng được nhắc nhở rất nhiều lần trên diển đàn rồi, thiết nghĩ giờ nhắc lại lần nữa cũng không thừa... mất công cho cả người hỏi lẩn người trợ giúp... Vì người hỏi đưa câu hỏi chưa sát thực tế và người trợ giúp phải hỏi đi hỏi lại nhiều lần mà có khi vẫn chưa biết các bạn muốn gì
 
Mình gửi FILE mong các bạn giúp. Cảm ơn nhiều
 

File đính kèm

Cảm ơn bạn ndu và bạn huuthang nhiều.
 
Hỏi về hàm if?

Mình dùng 8 hàm if lồng nhau thì được nhưng dùng tới hàm thứ 9 thì không được. Các bác có thử vấn đề này chưa? Bác nào thử rồi cho em biết với nhé.
 
Bạn muốn lồng bao nhiêu hàm IF cũng được. Tùy thuộc vào yêu cầu của bài toán chúng ta còn có thể áp dụng các công thức khác sẽ làm cho công thức ngắn đi rất nhiều.
Bạn có thể đưa file của bạn lên sẽ có nhiều cách làm khác nhau cho bạn tham khảo đấy
 
Mình dùng 8 hàm if lồng nhau thì được nhưng dùng tới hàm thứ 9 thì không được. Các bác có thử vấn đề này chưa? Bác nào thử rồi cho em biết với nhé.
Tôi nhớ là Excel 2003 chỉ lồng được 7 hàm IF(). Mà tôi nghĩ có thể không cần phải lồng nhiều IF() như vậy đâu. Đưa vấn đề của bạn lên, chúng ta sẽ giải quyết bằng phương pháp khác.
 
Bạn nên kiểm tra lại các dấu () xem có chính xác không ?sao không ứng dụng hàm idex xem
 
Giúp mình về hàm IF

Công thức mình cần là:

=IF(SBH!I7>0,"PN",IF(SBH!J7>0,"HN",IF(SBH!K7>0,"PM",IF(SBH!L7>0,"12BD",IF(SBH!M7>0,"12DN",IF(SBH!N7>0,"4x6",IF(SBH!O7>0,"5x7",IF(SBH!P7>0,"04BD",IF(SBH!Q13>0,"04DN",IF(SBH!R13>0,"MI"

để chạy cho đúng trong bảng tính, nhưng hàm IF chỉ cho được 8 cái biến IF trong 1 hàm.

Hiện tại mình chỉ có thể chạy được là :

=IF(SBH!I5>0,"PN",IF(SBH!J5>0,"HN",IF(SBH!K5>0,"PM",IF(SBH!L5>0,"12BD",IF(SBH!M5>0,"12DN",IF(SBH!N5>0,"4x6",IF(SBH!O5>0,"5x7",IF(SBH!P5>0,"04BD",0))))))))

Mình muốn sửa lại như công thức đầu, bạn nào biết xin giúp với
 
Công thức mình cần là:

Mình muốn sửa lại như công thức đầu, bạn nào biết xin giúp với
Bạn post file lên cùng với yêu cầu của bài toán. Hiểu được yêu cầu bài toán chúng tôi mới có thể làm cho bạn một công thưc khác có thể ngắn gọn hơn công thức mà bạn đang làm.

Bạn xem cái này có giải quyết được yêu cầu bài toán của bạn không vây?
=IF(I7:$O$7>0,{"PN","HN","PM","12BD","12DN","4X6","5x7","O4BD"},IF($Q$13:$R$13>0,{"04DN","MI"},""))
Nhập xong công thức bấm Ctrl+Shift + Enter
 
Chỉnh sửa lần cuối bởi điều hành viên:
Vì hàm if chỉ lồng được 8 hàm nên theo tôi, bạn nên dùng 2 ô trung gian, mỗi ô gom công thức lồng 4 hàm if. Sau đó gom tiếp kết quả của 2 ô trung gian đó.
 
Công thức mình cần là:

=IF(SBH!I7>0,"PN",IF(SBH!J7>0,"HN",IF(SBH!K7>0,"PM",IF(SBH!L7>0,"12BD",IF(SBH!M7>0,"12DN",IF(SBH!N7>0,"4x6",IF(SBH!O7>0,"5x7",IF(SBH!P7>0,"04BD",IF(SBH!Q13>0,"04DN",IF(SBH!R13>0,"MI"

để chạy cho đúng trong bảng tính, nhưng hàm IF chỉ cho được 8 cái biến IF trong 1 hàm.

Hiện tại mình chỉ có thể chạy được là :

=IF(SBH!I5>0,"PN",IF(SBH!J5>0,"HN",IF(SBH!K5>0,"PM",IF(SBH!L5>0,"12BD",IF(SBH!M5>0,"12DN",IF(SBH!N5>0,"4x6",IF(SBH!O5>0,"5x7",IF(SBH!P5>0,"04BD",0))))))))

Mình muốn sửa lại như công thức đầu, bạn nào biết xin giúp với
Có một cách, dễ nhất, nhanh nhất, khỏi chỉnh sửa gì hết, là... bạn hãy chuyển sang xài Excel 2007, hay ngon hơn nữa là Excel 2010, ở đó bạn có thể lồng tới 64 hàm IF chứ không chỉ là 8.
 
Bạn post file lên cùng với yêu cầu của bài toán. Hiểu được yêu cầu bài toán chúng tôi mới có thể làm cho bạn một công thưc khác có thể ngắn gọn hơn công thức mà bạn đang làm.

Bạn xem cái này có giải quyết được yêu cầu bài toán của bạn không vây?
=IF(I7:$O$7>0,{"PN","HN","PM","12BD","12DN","4X6","5x7","O4BD"},IF($Q$13:$R$13>0,{"04DN","MI"},""))
Nhập xong công thức bấm Ctrl+Shift + Enter

Tôi thử cách của bạn rồi, dù ngang dù dọc, vị trí từ I7:$O$7 đều lớn hơn 0, với công thức mảng đều cho ra giá trị "PN". Bạn xem lại nhé!
 
Tôi thử cách của bạn rồi, dù ngang dù dọc, vị trí từ I7:$O$7 đều lớn hơn 0, với công thức mảng đều cho ra giá trị "PN". Bạn xem lại nhé!
Cám ơn bạn! Mình cũng biết là cái công thức của mình chưa được chuẩn, nhưng vì tác giả không gửi file lên nên minh không sửa lại.
 
mình hok biết tải file lên làm sao hết á, đơn giản là mình dùng hàm này để lấy Mã Hàng từ 1 bảng khác qua. Có ai giúp mình được mình cám ơn nhìu
 
mình hok biết tải file lên làm sao hết á

Bạn theo đường dẫn này nhé:
http://www.giaiphapexcel.com/forum/showthread.php?t=250
Sau khi xem xong, bạn sẽ biết nhiều thủ thuật trong GPE.

đơn giản là mình dùng hàm này để lấy Mã Hàng từ 1 bảng khác qua. Có ai giúp mình được mình cám ơn nhìu

Bạn cứ làm như bạn Mig17 là được rồi:
Mig17 đã viết:
Vì hàm if chỉ lồng được 8 hàm nên theo tôi, bạn nên dùng 2 ô trung gian, mỗi ô gom công thức lồng 4 hàm if. Sau đó gom tiếp kết quả của 2 ô trung gian đó.
 
Lần chỉnh sửa cuối:
http://www.mediafire.com/download.php?lmgqwzwmgmy

Đây là File của mình xin nhờ mọi người giúp dùm, nó nằm ở SCT cột Mã Hàng. Bảng tính mình làm không tốt, công thức hơi lung tung, nhờ mọi người sửa giùm.

Cám ơn mọi người ^__^

À yêu cầu của mình là làm sao cho Sheet SCT tự chạy được từ bản gốc là SBH
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn xem công thức của mình nhé. Chẳng cần dùng đến hàm IF() nào.
=INDEX(SBH!$I$4:$R$4,,MAX(COLUMN(SBH!I5:R5)*(SBH!I5:R5<>0))-8)
 

File đính kèm

Cám ơn bạn Duongdv rất nhìu, bạn có thể giải thích dùm mình công thức của bạn không?
 
Việc giải thích một công thức về mảng là rất khó trong cách diễn đạt vì nó hơi trìu tượng một chút.
Trước tiên bạn cần tìm hiểu về lý thuyết và cấu trúc của một số hàm có trong công thức. Các hàm này có tài liệu CÔNG THỨC & HÀM EXCEL được ban quản trị biên soạn công phu chi tiết cùng các ví dụ sinh động rễ hiểu. Bạn có thể vào diễn đàn tìm hoặc download tại đây.
http://www.4shared.com/file/53407070/61f57ae4/_2__Excel_Function_and_Formulas.html?err=no-sess
Sau khi bạn tìm hiểu lý thuyết về các hàm bạn có mở phần bài tập của bạn trong đó có công thức mình làm
=INDEX(SBH!$I$4:$R$4,,MAX(COLUMN(SBH!I5:R5)*(SBH!I5:R5<>0))-8)
Bạn copy riêng từng hàm một ra để xem kết quả trả về của hàm đó trên cơ sở đó bạn sẽ hiểu được toàn bộ công thức.
 
http://www.mediafire.com/download.php?lmgqwzwmgmy

Đây là File của mình xin nhờ mọi người giúp dùm, nó nằm ở SCT cột Mã Hàng. Bảng tính mình làm không tốt, công thức hơi lung tung, nhờ mọi người sửa giùm.

Cám ơn mọi người ^__^

À yêu cầu của mình là làm sao cho Sheet SCT tự chạy được từ bản gốc là SBH
Trường hợp này không cần đến công thức mảng đâu. Dùng LOOKUP() là được rồi.
Mã:
=LOOKUP(10^10,SBH!$I5:$Q5,SBH!$I$4:$Q$4)
 
To huuthang_bd trong công thức của bạn cái 10^10 có ý nghĩa gì vậy?
10^10 là 10 mũ 10. Tôi muốn lấy một giá trị thật lớn, lớn hơn các giá trị có thể có của dữ liệu để dò vì hàm Lookup() sẽ trả về vị trí của số cuối cùng nhỏ hơn hoặc bằng số được dò tìm.
Bạn thử các công thức này để hiểu thêm về hàm Lookup()
Mã:
=LOOKUP(3,{1,2,3,4,5},{"a","b","c","d","e","f"})
Mã:
=LOOKUP(6,{1,2,3,4,5},{"a","b","c","d","e","f"})
Mã:
=LOOKUP(-2,{1,2,3,4,5},{"a","b","c","d","e","f"})
 
cám ơn mọi người rất nhìu ^__^
 
Tớ muốn lập 1 bảng tính: Nếu A1=1 thì B1=C1; nếu A1=2 thì B1=C2, nếu A1=3 thì B1=C3; ... ; nếu A1=50 thì B1=C50. Ai biết chỉ giùm tớ với, loay hoay cả tuần mà tớ không làm được. Thank nhiều. Gởi vào mail daikatung@gmail.com giùm tớ với nhé!
 
Tớ muốn lập 1 bảng tính: Nếu A1=1 thì B1=C1; nếu A1=2 thì B1=C2, nếu A1=3 thì B1=C3; ... ; nếu A1=50 thì B1=C50. Ai biết chỉ giùm tớ với, loay hoay cả tuần mà tớ không làm được. Thank nhiều. Gởi vào mail daikatung@gmail.com giùm tớ với nhé!
Bạn thử dùng công thức sau xem có được không nhé!
B1=IF(AND(INT(A1)=A1,A1>0),INDIRECT(ADDRESS(A1,3)),"")
hoặc
B1=IF(AND(INT(A1)=A1,A1>0),OFFSET($C$1,A1-1,0),"")
 
Lần chỉnh sửa cuối:
Bảng tính của bạn thì đúng rồi, nhưng mình không ứng dụng được, giúp thêm mình cái này nữa nhé.
Nếu B2=1 thì C2=Sheet2!A1, Nếu B2=2 thì C2=Sheet2!A2, ... , Nếu B2=50 thì C2=Sheet2!A50.
Giúp mình 1 lần nữa nhé! Thank!!
 
Bảng tính của bạn thì đúng rồi, nhưng mình không ứng dụng được, giúp thêm mình cái này nữa nhé.
Nếu B2=1 thì C2=Sheet2!A1, Nếu B2=2 thì C2=Sheet2!A2, ... , Nếu B2=50 thì C2=Sheet2!A50.
Giúp mình 1 lần nữa nhé! Thank!!
Bạn xem có đúng ý bạn không nhé!
 

File đính kèm

ok? rồi, thank hoangminhtien, cách 1 &3 thì tốt, nhưng cách 2 bị giới hạn.
 
ok? rồi, thank hoangminhtien, cách 1 &3 thì tốt, nhưng cách 2 bị giới hạn.

CÁCH NÀO CŨNG TỐT bạn à, vấn đề là bạn biết vận dụng thêm tí xíu thôi, ý bạn nói nếu ngoài những số dữ liệu thì CÁCH 2 sẽ cho ra giá trị #REF! phải không? OK bạn thêm một tí vào thôi mà!
Mã:
=IF(ISERROR(IF(AND(INT(B2)=B2,B2>0),INDEX(Sheet2!$A$1:$A$9,Sheet1!B2,0),"")),0,IF(AND(INT(B2)=B2,B2>0),INDEX(Sheet2!$A$1:$A$9,Sheet1!B2,0),""))
 
giúp em về hàm if với

lâu lắm rồi mới dùng lại excel....
giúp em cái bài này đi.
lấy kí tự đầu tiên của mã sãn phẫm; nếu là s thì xuất chữ sony
nếu h thì xuất chử hitachi, nếu t thì xuất chữ toshiba, nếu a thì xuất 4tech, nếu l thì xuất chữ loghitec.
giúp em nhé xin đa tạ :D
 
Bạn làm như sau nhé
=IF(LEFT(A1,1)="S",Sony,IF(LEFT(A1,1)="H","Hitachi",IF(LEFT(A1,1)="T","Tosiba",IF(LEFT(A1,1)="A","4tech","loghitec"))))
 
Bạn làm như sau nhé
=IF(LEFT(A1,1)="S","Sony",IF(LEFT(A1,1)="H","Hitachi",IF(LEFT(A1,1)="T","Tosiba",IF(LEFT(A1,1)="A","4tech","loghitec"))))
Có thể ngắn hơn tí:
=IF(LEFT(A1)="S","Sony",IF(LEFT(A1)="H","Hitachi",IF(LEFT(A1)="T","Tosiba",IF(LEFT(A1)="A","4tech","loghitec"))))​
 
Có thể ngắn hơn tí:
=IF(LEFT(A1)="S","Sony",IF(LEFT(A1)="H","Hitachi",IF(LEFT(A1)="T","Tosiba",IF(LEFT(A1)="A","4tech","loghitec"))))​
Bác toàn làm tắt,sumif cũng tắt, left cũng tắt .còn cái gì tắt nữa bác cho em xem để học hỏi tí xíu.
 
Bác toàn làm tắt,sumif cũng tắt, left cũng tắt .còn cái gì tắt nữa bác cho em xem để học hỏi tí xíu.
Nhiều lắm bạn ơi, nhưng đụng tới mới nhớ, còn không không thì khó nói lắm. Nhưng riêng hàm IF, thì có ví dụ nè:

Chẳng hạn như thay vì viết:
=IF(AND(A1>0, A1<10), A1, 0)​
(Nếu A1 lớn hơn 0 và nhỏ hơn 10 thì lấy A1, còn không thì lấy giá trị 0)

Có thể viết tắt là:
=(A1>0)*(A1<10)*A1​
 
Công thức của bạn bỏ hàm left:=CHOOSE(FIND(A1,"SHTAL",1),"SONY","HITACHI", "TOSHIBA","4TECH","LOGHITEC")
Mình thử mà đâu có ra kết quả đâu bạn. Chỉ ra kết quả là #VALUE thôi à. Còn nữa, mình thấy nên thêm hàm UPPER cho kết quả của hàm LEFT nữa. Cho nên dùng hàm SEARCH thì khỏi cần dùng hàm UPPER, như sau:
=CHOOSE(SEARCH(LEFT(A1),"SHTAL",1),"SONY","HITACHI", "TOSHIBA","4TECH","LOGHITEC")
 
Lần chỉnh sửa cuối:
@ Simple_Life
Bỏ left được mà bạn.
Bạn thử với ký tự có viết hoa không vậy?
 
@ Simple_Life
Bỏ left được mà bạn.
Bạn thử với ký tự có viết hoa không vậy?
Chúng ta đi lạc đề mất rồi,ý của tác giả "lấy kí tự đầu tiên của mã sãn phẫm; nếu là s thì xuất chữ sony.." như vậy phải có LEFT.
 
Lập 1 bảng tên BANG gồm 2 côt. Côt đầu gồm S, H, T, .... Cột thứ 2 gôm: Sony, Hitachi, Toshiba, .....
= vlookup(left(a1,1),bang,2,0)
 
Hàm if thì sử dụng được nhiều lắm, dưới đây mình có 1 bài tập áp dụng hàm if cũng tương đối. bạn xem thử nhé

Bài tập ví dụ về hàm if
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Hàm "if" trong exel có giới hạn ký tự hay không.

Xin anh em giải thích vấn đề về lỗi mới mà lần đầu tiên em gặp phải trong excel. Lỗi gặp phải như sau:
Em viếc như thế này thì chương trình không báo lỗi:
=IF(A11=1,ns2(A21:M42,D21,B7),IF(A11=2,ns2(A21:M42,H21,B7),IF(A11=3,ns2(A21:M42,L21,B7),IF(A11=4,ns2(N21:AA42,R21,B7),IF(A11=5,ns2(N21:AA42,V21,B7),IF(A11=6,ns2(N21:AA42,Y21,B7),IF(A11=7,ns2(A49:M70,C49,B7),0)))))))
Nhưng khi gỏ thêm vài từ sau thì lại bị thông báo lỗi:
=IF(A11=1,ns2(A21:M42,D21,B7),IF(A11=2,ns2(A21:M42,H21,B7),IF(A11=3,ns2(A21:M42,L21,B7),IF(A11=4,ns2(N21:AA42,R21,B7),IF(A11=5,ns2(N21:AA42,V21,B7),IF(A11=6,ns2(N21:AA42,Y21,B7),IF(A11=7,ns2(A49:M70,C49,B7),IF(A11=8,ns2(A49:M70,G49,B7),ns2(A49:M70,K49,B7)))))))))
Vị trí ô nhập lệnh em có khoanh tròn màu đỏ ở gần cuối bài.
link file tại đây:
http://www.mediafire.com/file/zgc5kzdwy4t/be tong cot thep 2.xls

Xin cảm ơn anh em
trước.
 
Lần chỉnh sửa cuối:
Xin anh em giải thích vấn đề về lỗi mới mà lần đầu tiên em gặp phải trong excel. Lỗi gặp phải như sau:
Em viếc như thế này thì chương trình không báo lỗi:
=IF(A11=1,ns2(A21:M42,D21,B7),IF(A11=2,ns2(A21:M42,H21,B7),IF(A11=3,ns2(A21:M42,L21,B7),IF(A11=4,ns2(N21:AA42,R21,B7),IF(A11=5,ns2(N21:AA42,V21,B7),IF(A11=6,ns2(N21:AA42,Y21,B7),IF(A11=7,ns2(A49:M70,C49,B7),0)))))))
Nhưng khi gỏ thêm vài từ sau thì lại bị thông báo lỗi:
=IF(A11=1,ns2(A21:M42,D21,B7),IF(A11=2,ns2(A21:M42,H21,B7),IF(A11=3,ns2(A21:M42,L21,B7),IF(A11=4,ns2(N21:AA42,R21,B7),IF(A11=5,ns2(N21:AA42,V21,B7),IF(A11=6,ns2(N21:AA42,Y21,B7),IF(A11=7,ns2(A49:M70,C49,B7),ns2(A49:M70,G49,B7),ns2(A49:M70,K49,B7))))))))

Vị trí ô nhập lệnh em có khoanh tròn màu đỏ ở gần cuối bài.
link file tại đây:
http://www.mediafire.com/file/zgc5kzdwy4t/be tong cot thep 2.xls

Xin cảm ơn anh em
trước.
Hàm IF cuối cùng của bạn dựa theo cú pháp gì vậy ?
Cái này nè:
IF(A11=7, ns2(A49:M70,C49,B7), ns2(A49:M70,G49,B7), ns2(A49:M70,K49,B7))​
Hàm IF gì mà có đến 4 tham số ?
 
Xin lỗi anh. Hàm if cuối như thế này cơ:
=IF(A11=1,ns2(A21:M42,D21,B7),IF(A11=2,ns2(A21:M42,H21,B7),IF(A11=3,ns2(A21:M42,L21,B7),IF(A11=4,ns2(N21:AA42,R21,B7),IF(A11=5,ns2(N21:AA42,V21,B7),IF(A11=6,ns2(N21:AA42,Y21,B7),IF(A11=7,ns2(A49:M70,C49,B7),IF(A11=8,ns2(A49:M70,G49,B7),ns2(A49:M70,K49,B7)))))))))
Và em đã sữa lại ở bài trên rồi đấy ạh.
Anh xem lại giúp em!
 
Bạn ngắt bớt, để lại 7 IF xem báo lỗi không?

Hồi xưa mình còn gặp vụ này: Các từ trong 1 ô quá dài (nhiều); excel hồi đó không chịu 1024 từ hay sao í! khà, khà, . . .
 
Vâng em sẻ làm ít trường hợp hơn, để giảm "if" xuống
Vậy em cảm ơn anh luôn.
 
ns2 là hàm gì vậy bạn. Mình thấy hàm if ko sai đâu. Bạn xem lại cái hàm ns của bạn đi
 
Xin lỗi anh. Hàm if cuối như thế này cơ:
=IF(A11=1,ns2(A21:M42,D21,B7),IF(A11=2,ns2(A21:M42,H21,B7),IF(A11=3,ns2(A21:M42,L21,B7),IF(A11=4,ns2(N21:AA42,R21,B7),IF(A11=5,ns2(N21:AA42,V21,B7),IF(A11=6,ns2(N21:AA42,Y21,B7),IF(A11=7,ns2(A49:M70,C49,B7),IF(A11=8,ns2(A49:M70,G49,B7),ns2(A49:M70,K49,B7)))))))))
Ô A11 chạy từ 1-->9 vậy cần gì dùng IF, sao bạn không dùng hàm Choose!
 
Tôi thấy dử liệu trong file bố trí lung tung quá
Nếu bố trí hợp lý hơn thì hoàn toàn có thể dùng Offset ---> 1 công thức duy nhất, khỏi cần IF luôn!
Đại khái thế này:
ns2(Offset(A21:M42,???,???),Offset(D21,???,???),B7)
Bạn bố trí sao đó, để ngay chổ chấm ??? là 1 biến so với cell A11
 
Anh giải thích giup em nhé

+-+-+-+Thế hàm ns2 và hàm offcef nưa là hàm gì vậy anh?Anh giỏi Ec thật đấy.Anh có tài liệu Ec nào hay hay mà dễ hiểu mong anh gửi cho em đuoc chứ?Để em cải thiện cái đầu mình a nhé.
Mail em đây:phung_da2000@yahoo.com
Em cảm ơn anh nhiều nhiều.........!!!!+-+-+-++-+-+-++-+-+-+
 
+-+-+-+Thế hàm ns2 và hàm offcef nưa là hàm gì vậy anh?Anh giỏi Ec thật đấy.Anh có tài liệu Ec nào hay hay mà dễ hiểu mong anh gửi cho em đuoc chứ?Để em cải thiện cái đầu mình a nhé.
Mail em đây:phung_da2000@yahoo.com
Em cảm ơn anh nhiều nhiều.........!!!!+-+-+-++-+-+-++-+-+-+
NS2 chắc chắn là hàm tự tạo, do tác giả tạo ra bằng cách viết code (mở file, bấm Alt + F11 sẽ thấy nội dung hàm)
Còn OFFSET là 1 hàm của Excel, bạn có thể tham khảo tại đây:
http://www.giaiphapexcel.com/forum/showthread.php?t=7971
 
Lần chỉnh sửa cuối:
Xem giúp mình công thức này if

=IF(I4="","",IF(G4<1500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,3,0),IF(1500<=G4<2500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,4,0),IF(2500<=G4<5000,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,5,0),VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,6,0)))))

Không biết tại sao công thức này khi thì trả về đúng, khi thì trả về không đúng, các bạn xem giúp mình với +-+-+-++-+-+-+
 
Bạn đưa file lên xem sao nhé.
 
=IF(I4="","",IF(G4<1500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,3,0),IF(1500<=G4<2500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,4,0),IF(2500<=G4<5000,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,5,0),VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,6,0)))))

Không biết tại sao công thức này khi thì trả về đúng, khi thì trả về không đúng, các bạn xem giúp mình với +-+-+-++-+-+-+

Bạn sửa lại công thức trên thành:

PHP:
=IF(I4="","",IF(G4<1500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$10,3,0),IF(G4<2500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$10,4,0),IF(G4<5000,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$10,5,0),VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$10,6,0)))))

Điều kiện trong công thức IF bạn dùng sai. Trong bài này ta có thể dùng cách lọai trừ để làm điều kiện.

Thanh Phong
 
=IF(I4="","",IF(G4<1500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,3,0),IF(1500<=G4<2500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,4,0),IF(2500<=G4<5000,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,5,0),VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,6,0)))))

Không biết tại sao công thức này khi thì trả về đúng, khi thì trả về không đúng, các bạn xem giúp mình với +-+-+-++-+-+-+
Bạn thử CT dưới xem có đúng ý bạn không.
Mã:
=IF(I4="";"";VLOOKUP(I4;'Quotation to Nippon'!$B$9:$G$10;IF(G4<=1500;3;IF(G4<=2500;4;IF(G4<=5000;5;6)));0))
 
Hàm choose và hàm offset là hàm nâng cao mà em chưa từng nghe. Hôm nay được các bậc đàn anh nhắc nhở em biết thêm vài hàm. Xong em chưa hiểu lắm cách dùng các hàm này.
Em sống ở khu vực vùng ven bờ biển của Tỉnh Quảng Ngãi, ít có điều kiện tiếp xúc với giáo trình hay như thị trường sách và tri thức thành phố. Nay đậu vô ngành xây dựng, cần lập trình exel nhiều, nhưng lại không biết tài liệu nào hay.
Nhân tiện xin các anh chị cho em file tài liệu nói về những hàm nâng cao này để học hỏi thêm.
Xin chân thành cảm ơn!
 
Công thức vầy cho nó ngắn nhé:
PHP:
=IF(I4="","",VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$10,(G4>=1500)+(G4>=2500)+(G4>=5000)+3,0))
 

File đính kèm

Xin anh em giải thích vấn đề về lỗi mới mà lần đầu tiên em gặp phải trong excel. Lỗi gặp phải như sau:
Em viếc như thế này thì chương trình không báo lỗi:
=IF(A11=1,ns2(A21:M42,D21,B7),IF(A11=2,ns2(A21:M42,H21,B7),IF(A11=3,ns2(A21:M42,L21,B7),IF(A11=4,ns2(N21:AA42,R21,B7),IF(A11=5,ns2(N21:AA42,V21,B7),IF(A11=6,ns2(N21:AA42,Y21,B7),IF(A11=7,ns2(A49:M70,C49,B7),0)))))))
Nhưng khi gỏ thêm vài từ sau thì lại bị thông báo lỗi:
=IF(A11=1,ns2(A21:M42,D21,B7),IF(A11=2,ns2(A21:M42,H21,B7),IF(A11=3,ns2(A21:M42,L21,B7),IF(A11=4,ns2(N21:AA42,R21,B7),IF(A11=5,ns2(N21:AA42,V21,B7),IF(A11=6,ns2(N21:AA42,Y21,B7),IF(A11=7,ns2(A49:M70,C49,B7),IF(A11=8,ns2(A49:M70,G49,B7),ns2(A49:M70,K49,B7)))))))))
Vị trí ô nhập lệnh em có khoanh tròn màu đỏ ở gần cuối bài.
link file tại đây:
http://www.mediafire.com/file/zgc5kzdwy4t/be tong cot thep 2.xls

Xin cảm ơn anh em
trước.
Số ký tự nhập vào cell hình như có giới hạn ( 256 ký tự), mình cũng không chắc lặm Hình như bạn tạo công thức đó dài hơn 256 ký tự thì phải
Chúc bạn khỏe
 
Hàm ns2 là hàm nội suy hai chiều mà trog ngành kỹ thuật của em sài rất nhiều. Ta có một dảy giá trị x và một dảy giá trị y. tương ứng với x(i) và y(i) ta có một giá trị f(x(i),y(i)).
Tuy nhiên rất nhiều trường hợp ta cần có giá trị f(x(j), y(j)) nhưng x(J) có nhưng giá trị còn lại y(j) lại không có hoặc ngc lại. Khi đó ta sử dụng nội suy 1 chiều; Nếu cả hai giá trị x và y điều không có trong bản tra ra f(x,y) tương ứng ta dùng nối suy hai chiều.
Đại khái là vậy!
 
Giải thích thêm. Hàm nội suy hai chiều là hàm khi cần biết một giá trị f(x,y) nào đó không có trong bản tra nhưng có các giá trị hai đầu xát nó là f(x1,y1) với x1 và y1 lần lượt là hai giá trị bé hơn x và y cần tiềm và f(x2, y2) với x1 và y1 lần lượt là hai giá trị bé hơn x và y cần tiềm. Có thể nói nôm na là nội suy từ hai tiệm cận trên và dưới của giá trị cần tiềm: x1<x<x2, y2<y<y2.
Nếu chỉ cần nội suy x1<x<x2 hoặc y2<y<y2 khi tương ứng y hoặc x đã có trong bản tra ta có nội suy một chiều.
Qua đó:
Có thể dùng hàm ns2 để giải quyết bài toán ns1 (nội suy một chiều)
 
(1) Theo mình nghĩ hàm nội suy của bạn còn có thể rút ngắn được nữa;
Chuyện này ta bàn sau, nha!

(2) Bạn nên quen với việc xài Name trong công thức, nó sẽ rút ngắn nhiều công đoạn, như sau:
+ Nhập để hình thành công thức;
+Dễ kiểm sai sót;
+ . . . .

(3) Dùng hàm IF() trong <= E2K3 bị khống chế không vượt 7 cái lồng vô nhau;
Nếu gặp trường hợp này, bạn làm theo í của Cadafi;

Sau đay là ví dụ áp dụng cho hai trường hợp luôn:

Tại ô C99 ta nhập hàm sau:

=CHOOSE(A11,ns2(GPE,D21,B7),ns2(GPE,H21,B7),ns2(GPE,L21,B7),ns2(NAA,R21,B7),ns2(NAA,V21,B7),ns2(NAA,Y21,B7),ns2(A49:M70,C49,B7),0)

Hàm Choose() này có trong excel đã từ mấy thế hệ trước, bạn thoải mái vọoc & xài, nha. Nó chấp nhận đến 30 đối số giao cho nó thay vì 7 như hàm IF()

Chúc ngày càng tấn bộ cùng GPE!
 
Chỉnh sửa lần cuối bởi điều hành viên:
=IF(I4="","",IF(G4<1500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,3,0),IF(1500<=G4<2500,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,4,0),IF(2500<=G4<5000,VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,5,0),VLOOKUP(I4,'Quotation to Nippon'!$B$9:$G$40,6,0)))))

Không biết tại sao công thức này khi thì trả về đúng, khi thì trả về không đúng, các bạn xem giúp mình với +-+-+-++-+-+-+
Bạn sai những chỗ này:
1500<=G4<2500
2500<=G4<5000


Excel không hiểu những biểu thức liên tiếp như thế. Và nó sẽ tính theo thứ tự từ trái qua phải.
1500<=G4<2500 Excel sẽ hiểu là (1500<=G4)<2500
2500<=G4<5000 Excel sẽ hiểu là (2500<=G4)<5000

Bạn phải tách ra so sánh riêng sau đó kết hợp lại bằng hàm And()
And(1500<=G4,G4<2500)
And(2500<=G4,G4<5000)
 
Cảm ơn các bạn rất nhiều, mình sai cơ bản quá....+-+-+-++-+-+-+
 
Hồi xưa mình còn gặp vụ này: Các từ trong 1 ô quá dài (nhiều); excel hồi đó không chịu 1024 từ hay sao í! khà, khà, . . .
HYen17 đã viết:
(3) Dùng hàm IF() trong <= E2K3 bị khống chế không vượt 7 cái lồng vô nhau;
Nếu gặp trường hợp này, bạn làm theo í của Cadafi;.
Đây là giới hạn của hàm Excel 2003: nguồn Microsoft Offics Excel
Feature​
|
Maximum limit​
|
Number precision|15 digits|
Largest number allowed to be typed into a cell|9.99999999999999E+307|
Largest allowed positive number|1.79769313486231E+308|
Smallest allowed negative number|
-0,000000000​
|
Smallest allowed positive number|
0,00000000​
|
Largest allowed negative number|
-0,0000​
|
Length of formula contents |1,024 characters|
Iterations|
32,767​
|
Worksheet arrays|Limited by available memory. Also, arrays cannot refer to entire columns. For example, an array cannot refer to the entire column C:C or to the range C1:C65536. However, an array can refer to the range C1:D65535 because the range is one row short of the maximum worksheet size and does not include the entire C or D column.|
Selected ranges|
2,048​
|
Arguments in a function
|
30​
|
Nested levels of functions |
7​
|
Number of available worksheet functions|
329​
|
Earliest date allowed for calculation|January 1, 1900 (January 1, 1904, if 1904 date system is used)|
Latest date allowed for calculation|
31/12/9999​
|
Largest amount of time that can be entered|
416,666655092593​
|
 
Lần chỉnh sửa cuối:
Chỉnh sửa lần cuối bởi điều hành viên:
Không chắc chắn lắm, nhưng hình như giới hạn là 256 ký tự trong 1 cẹll Công thức của bạn hình như vượt quá giới hạn đó
 
giới hạn về chuỗi trong Excel 2003

Không chắc chắn lắm, nhưng hình như giới hạn là 256 ký tự trong 1 cẹll Công thức của bạn hình như vượt quá giới hạn đó
[FONT=&quot]
[/FONT] Phân biệt một số giới hạn về chuỗi trong Excel 2003:
1. Số ký tự trong cell:
- tối đa 32,767 ký tự
- Chỉ 1.024 ký tự hiển thị trên cell
- Tất cả 32.767 ký tự hiển thị trên thanh công thức

2. Chiều rộng cột (Column width): tối đa 255 ký tự

3. Số ký tự trong 1 công thức: tối đa 1.024 ký tự

4. Số ký tự 1 chuỗi trong công thức: tối đa 255 ký tự
 
Bạn xem thế này được chưa.
 

File đính kèm

bạn dùng hàm if lông vào là Ok thôi, công thức như sau =IF(C5=0,0.5*VLOOKUP(LEFT(D5,1),$I$5:$K$7,2,0),VLOOKUP(LEFT(D5,1),$I$5:$K$7,2,0)*C5)
 
Status
Không mở trả lời sau này.

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

Back
Top Bottom