PDA

View Full Version : Có thể có nhiều hơn 7 hàm IF được lồng vào nhau ko?



tieumjmj
18-05-10, 02:47 PM
Các bạn cho mình hỏi với!
Theo mình biết thì hàm IF chỉ được lặp 7 lần. Mình đang muốn lập công thức điều kiện IF lặp 12 lần. Hoặc có hàm nào tương tự hàm IF mà lặp được 12 lần thì chỉ mình với!

Hai Lúa Miền Tây
18-05-10, 02:49 PM
Các bạn cho mình hỏi với!
Theo mình biết thì hàm IF chỉ được lặp 7 lần. Mình đang muốn lập công thức điều kiện IF lặp 12 lần. Hoặc có hàm nào tương tự hàm IF mà lặp được 12 lần thì chỉ mình với!
Bạn thử dùng hàm Choose xem nhé, có đến 29 điều kiện

tieumjmj
18-05-10, 02:56 PM
Bạn ơi, nhưng hàm CHOOSE phải có "index_num", mình ko sử dụng được cái này nên dùng hàm IF. CẢm ơn bạn nha, nhưng bạn còn cách nào nữa ko? (làm cho hàm if lặp được nhiều hơn chẳng hạn...)

BNTT
18-05-10, 02:59 PM
Các bạn cho mình hỏi với!
Theo mình biết thì hàm IF chỉ được lặp 7 lần. Mình đang muốn lập công thức điều kiện IF lặp 12 lần. Hoặc có hàm nào tương tự hàm IF mà lặp được 12 lần thì chỉ mình với!
Được. Bạn sử dụng Excel 2007 đi. Bạn có thể lồng đến 64 cái IF.
(29 cái trên đây chưa là gì...)

Tống Văn Đệ
19-05-10, 06:42 AM
Dùng hàm Switch hoặc đặt Name ;
Tìm đọc bài của HanDung107 trên diễn dàn

ChanhTQ@
19-05-10, 06:58 AM
Bạn ơi, nhưng hàm CHOOSE phải có "index_num", mình ko sử dụng được cái này nên dùng hàm IF. Nhưng bạn còn cách nào nữa ko? (làm cho hàm if lặp được nhiều hơn chẳng hạn...)


Hãy nêu rõ thêm đề bài xem sao; Biết đâu có cách khác ưng í hơn cho bạn.

MinhCong
19-05-10, 07:34 AM
Các bạn cho mình hỏi với!
Theo mình biết thì hàm IF chỉ được lặp 7 lần. Mình đang muốn lập công thức điều kiện IF lặp 12 lần. Hoặc có hàm nào tương tự hàm IF mà lặp được 12 lần thì chỉ mình với!
Dạng lồng nhiều hàm IF trên diễn đàn cũng nói nhiều rồi. Bạn xem file rồi áp dụng cho trường hợp của mình nhé!

dat_butmuc
19-05-10, 08:43 AM
Dạng lồng nhiều hàm IF trên diễn đàn cũng nói nhiều rồi. Bạn xem file rồi áp dụng cho trường hợp của mình nhé!

Sự nhiệt tình, chu đáo của MinhCong thật đáng nể !
Góp thêm một "chút" cho vui cửa vui nhà .
=IF(A1>=20,7,IF(A1>=15,8,CHOOSE(INT((A1+1)/2),15,14,13,12,11,10,9)))%

Hoặc gọn hơn thì:
=IF(A1>=20,7,IF(A1>=15,8,16-INT((A1+1)/2)))%

Tống Văn Đệ
24-05-10, 08:08 AM
Tình cờ xem lại ví dụ của bạn
Mình đề nghị các giải khác .
Lập 1 bảng điều kiện ( Có ưu điểm là dễ bảo trì nếu sau này có thay đổi điều kiện )
Dùng hàm tìm (tìm tương đối : đối số thứ tư = 1 )
PP này mình hay thực hiện trong công việc của mình
Chúc Vui !

ChanhTQ@
24-05-10, 08:42 AM
Được. Bạn sử dụng Excel 2007 đi. Bạn có thể lồng đến 64 cái IF.
(29 cái trên đây chưa là gì...)

Nếu tôi chỉ có Êxcel 2003 Nhưng đến hơn 100 cái IF() lồng nhau có lẽ thua sao?
Không nha;

Tôi sẽ xài hàm SWITCH() trong VBA; Nó có đến cơ man nào là tham số; Mình chưa thử tìm số các tham số của nó ấy chứ! (Bạn nào siêng tìm giúp mình với.)




Dim Cot As Byte, Col As Byte

Cot = SWITCH(Col =1, "A", Col =2, "B", Col =3, "C", Col =4, "d", Col =5, "E", Col =6, "F", _
. . . . . . ,Col =27, "AA", Col =28, "AB",Col =29, "AC", Col =30, "AD",Col =31, "AE", Col =32, "AF", _
. . . . . )



Switch Function

Switch Function

Evaluates a list of expressions (http://javascript%3Cb%3E%3C/b%3E:hhobj_4.Click%28%29) and returns a Variant value or an expression associated with the first expression in the list that is True.
Syntax
Switch(expr-1, value-1[, expr-2, value-2 … [, expr-n,value-n]])
The Switch function syntax has these parts:
Part Description expr Required. Variant expression (http://javascript%3Cb%3E%3C/b%3E:hhobj_5.Click%28%29) you want to evaluate. value Required. Value or expression to be returned if the corresponding expression is True.

Remarks
The Switch function argument (http://javascript%3Cb%3E%3C/b%3E:hhobj_6.Click%28%29) list consists of pairs of expressions and values. The expressions are evaluated from left to right, and the value associated with the first expression to evaluate to True is returned. If the parts aren't properly paired, a run-time error (http://javascript%3Cb%3E%3C/b%3E:hhobj_7.Click%28%29) occurs. For example, if expr-1 is True, Switch returns value-1. If expr-1 is False, but expr-2 is True, Switch returns value-2, and so on.
Switch returns a Null (http://javascript%3Cb%3E%3C/b%3E:hhobj_8.Click%28%29) value if:


None of the expressions is True.
The first True expression has a corresponding value that is Null.

Switch evaluates all of the expressions, even though it returns only one of them. For this reason, you should watch for undesirable side effects. For example, if the evaluation of any expression results in a division by zero error, an error occurs.

TrungChinhs
24-05-10, 12:40 PM
Các bạn cho mình hỏi với!
Theo mình biết thì hàm IF chỉ được lặp 7 lần. Mình đang muốn lập công thức điều kiện IF lặp 12 lần. Hoặc có hàm nào tương tự hàm IF mà lặp được 12 lần thì chỉ mình với!

Bạn dùng thêm cột phụ nhé. Cách làm như sau:
Với ô tại cột chính bạn lồng 6 lần hàm IF(...) bình thường, đến vòng thứ 7 thì điều kiện trả về cuối cùng là ô của cột phụ và Enter để kết thúc.
Tại cột phụ bạn lập tiếp hàm IF với điều kiện để trả về kết quả mà cột chính chưa làm được (vòng lặp đầu tiên của cột phụ thứ nhất chính là vòng lặp thứ 8 của 2 cột công lại...)
Cứ tiếp tục như vậy đến vòng lặp thứ 7 thì điều kiện trả về cuối cùng lại là ô của cột phụ tiếp theo (nếu chưa xong).

dat_butmuc
24-05-10, 01:27 PM
Thực ra, mọi người cứ nói hàm IF trong Excel 2003 chỉ đến 7 lần lặp, tuy nhiên theo tôi thì lập luận khác:
1. Đó chỉ tuân thủ (máy móc) đúng theo kiểu 1 cấu trúc của IF (có nghĩa là =IF(logical_test,value_if_true,value_if_false)
2. Tại sao các hàm có thể kết hợp với nhau mà không nghĩ đến việc IF sẽ kết hợp với IF, theo kiểu:
=IF(logical_test,IF(logical_test,IF(logical_test,I F(logical_test,IF(logical_test,IF(logical_test,val ue_if_true,value_if_false),value_if_false),value_i f_false),value_if_false),value_if_false),value_if_ false)....và trong mỗi value_if_false hay value_if_true ta cũng có thể kết hợp IF trong nó theo dạng cấu trúc trên.
Hoặc một số kiểu mà tùy theo dữ liệu.
Tôi có thể chỉ dùng IF để đếm từ 1 đến 100 hoặc hơn nữa (có nghĩa là hơn 100 điều kiện...) => thực tế chẳng ai dùng IF đến từng ấy điều kiện cả
Ví dụ 1 kiểu dùng IF(17 ĐIỀU KIỆN) Đổi số thành chữ từ 1 - 17 chỉ bằng IF:
=IF(A1<7,IF(A1=6,"sau",IF(A1=5,"nam",IF(A1=4,"bon",IF(A1=3,"ba",IF(A1=2,"hai",IF(A1=1,"mot")))))),IF(A1<13,IF(A1=12,"m.hai",IF(A1=11,"m.mot",IF(A1=10,"muoi",IF(A1=9,"chin",IF(A1=8,"tam",IF(A1=7,"bay")))))),IF(A1<18,IF(A1=13,"m.ba",IF(A1=17,"m.bay",IF(A1=16,"m.sau",IF(A1=15,"m.lam",IF(A1=14,"m.bon"))))))))

lyquocluat
12-05-11, 06:27 PM
Mình cần làm bài toán này, mà thấy rắc rối quá, ko làm nổi. Các đồng chí trình cao Excel giúp mình với, mình đang rất cần!

nguyendunghh2
28-08-11, 04:02 PM
Dạng lồng nhiều hàm IF trên diễn đàn cũng nói nhiều rồi. Bạn xem file rồi áp dụng cho trường hợp của mình nhé!


Cach dung True*False =0 và True* True=1 của bạn rất hay, từ đây mà tôi cũng tìm ra cách giải bài toán của mình.. ĐÚng là giang hồ lắm cao thủ !)*&^)

usagi90
09-09-11, 08:54 PM
Các bạn cho mình hỏi với!
Theo mình biết thì hàm IF chỉ được lặp 7 lần. Mình đang muốn lập công thức điều kiện IF lặp 12 lần. Hoặc có hàm nào tương tự hàm IF mà lặp được 12 lần thì chỉ mình với!

lang thang vào cái box này mà e thấy sao mọi người k đề cập tới việc lập ra một cái bảng phụ nhỉ..? Dùng if chi bằng tham chiếu có phải tiện hơn không ạ.

lanhchanhdieu
14-10-11, 09:48 AM
Hi các anh chị!

Em cũng đang làm hàm if để lấy điều kiện là dạng text nên không thể nào làm được như ở trên và em đang xài office 2010 nhưng nó cũng chỉ cho 7 if lồng vào nhau thôi. Ai biết vui lòng chỉ giúp em với. Thnks!

Ba Tê
14-10-11, 09:55 AM
Hi các anh chị!

Em cũng đang làm hàm if để lấy điều kiện là dạng text nên không thể nào làm được như ở trên và em đang xài office 2010 nhưng nó cũng chỉ cho 7 if lồng vào nhau thôi. Ai biết vui lòng chỉ giúp em với. Thnks!
Muốn tìm ra cách giải cũng phải thấy mặt mũi nó ra sao chớ.
Bạn đưa file ví dụ lên đây đi, nói suông thì mơ hồ lắm.

min_2506
14-10-11, 03:20 PM
Hà m if như bà i toá n cộ ng : 1+2+3....

min_2506
14-10-11, 03:25 PM
- Hà m if như bà i toá n cộ ng : =if(..1)+if(..2)+..........+if(..12) . 12 đ iêề u kiêệ n lôồ ng và o nhau

ó bđệ n êề u kiêđ ià o nhau 12 ồ ng vợ c lơư

PHONGGANHHAO
27-04-12, 06:19 PM
Vui lòng Hoàn Thiện dùm em nhe. Em làm hoài mà nó im ru

Xuân hiếu
27-04-12, 09:47 PM
Bạn có thể dùng hàm này thử xem
CONCATENATE()
---------------------------------------
bạn có thể xem file mẫu nếu được thì làm thêm

Hi các anh chị!

Em cũng đang làm hàm if để lấy điều kiện là dạng text nên không thể nào làm được như ở trên và em đang xài office 2010 nhưng nó cũng chỉ cho 7 if lồng vào nhau thôi. Ai biết vui lòng chỉ giúp em với. Thnks!

anhanh8989
12-05-12, 08:10 AM
Bạn ơi! Sao mình làm excel 2007 mà mình dùng chỉ được 7 hàm if vậy bạn. Mình có cái này khó làm quá!!!!

mhung12005
12-05-12, 01:04 PM
Bạn ơi! Sao mình làm excel 2007 mà mình dùng chỉ được 7 hàm if vậy bạn. Mình có cái này khó làm quá!!!!

Khó như thế nào bạn cứ đưa file lên cùng lời giải thích cái khó đó thì mọi người sẽ giúp hết mình. Chứ nói vậy mới là khó đó bạn.

Thân.

bemyself
12-05-12, 02:00 PM
Tình hình là công thức này tớ đang sử dụng và ... vẫn được.
=IF(AF2=2,"SL T1",IF(AF2=3,"SL T2",IF(AF2=4,"SL T3",IF(AF2=5,"SL T4",IF(AF2=6,"SL T5",IF(AF2=7,"SL T6",IF(AF2=8,"SL T7",IF(AF2=9,"SL T8",IF(AF2=10,"SL T9",IF(AF2=11,"SL T10",IF(AF2=12,"SL T11",IF(AF2=13,"SL T12",IF(AF2=14,"TỔNG SL","")))))))))))))

bebo021999
12-05-12, 03:58 PM
Tình hình là công thức này tớ đang sử dụng và ... vẫn được.
=IF(AF2=2,"SL T1",IF(AF2=3,"SL T2",IF(AF2=4,"SL T3",IF(AF2=5,"SL T4",IF(AF2=6,"SL T5",IF(AF2=7,"SL T6",IF(AF2=8,"SL T7",IF(AF2=9,"SL T8",IF(AF2=10,"SL T9",IF(AF2=11,"SL T10",IF(AF2=12,"SL T11",IF(AF2=13,"SL T12",IF(AF2=14,"TỔNG SL","")))))))))))))
Chỉ đơn giản vầy thôi:
=IF(AF2=14,"TỔNG SL","SL T"&AF2-1)

haonlh
19-09-13, 05:41 PM
Bài 7

Dạng lồng nhiều hàm IF trên diễn đàn cũng nói nhiều rồi. Bạn xem file rồi áp dụng cho trường hợp của mình nhé!

Công thức trong ô B1 trong file đính kèm của bạn là
=((A1>0)*(A1<3)*15+(A1>=3)*(A1<5)*14+(A1>=5)*(A1<7)*13+(A1>=7)*(A1<9)*12+(A1>=9)*(A1<11)*11+(A1>=11)*(A1<13)*10+(A1>=13)*(A1<15)*9+(A1>=15)*(A1<20)*8+(A1>=20)*7)%
không sai

Nhưng tôi xin thay công thức sau, gọn hơn
=(15 - (A1>=3) - (A1>=5) - (A1>=7) - (A1>=9) - (A1>=11) - (A1>=13) - (A1>=15) - (A1>=20))%

Cũng xin ghi nhận các công thức trên B2, B3... đều là khá hay.