PDA

View Full Version : lỗi you have entered too many arguments



nguyentronghieu876356
16-12-08, 10:43 PM
Các bạn ơi giúp mình với !
Mình có công thức Excel như sau :=IF(C18="trụ gỗ tạp","Nhàtạm",IF(OR(C18="trụ BT đúc sẵn",C18="trụ gỗ quy cách"),VLOOKUP(MAX(A3:A4),A3:S4,2)),if(and(C18="trụ BT",Q18="1"),vlookup(max(A6:A8),A6:S8,2)))
Công thức trong đơn giản thế mà sao nó lại hiện thông báo "you have entered too many arguments for this function" tức bạn đã nhập quá nhiều đối số cho hàm này, trong khi mình có hàm xếp loại học lực dài thế này mà nó không báo lỗi gì cả
=IF(AND(MIN(D4:L4)>=6.5,OR(NOT(D4<8),NOT(J4<8)),COUNTIF(D4:L4,">=8")>5),"GIOÍI",IF(OR(AND(MIN(D4:L4)>=3.5,COUNTIF(D4:L4,">=8")>5,COUNTIF(D4:L4,">=6,5")=8,COUNTIF(D4:L4,"<5")=1),AND(MIN(D4:L4)>=5,D4<6.5,J4<6.5,COUNTIF(D4:L4,">=8")=6,COUNTIF(D4:L4,">=6,5")>6),AND(MIN(D4:L4)>=5,OR(NOT(D4<6.5),NOT(J4<6.5)),COUNTIF(D4:L4,">=6,5")>5)),"KHAÏ",IF(OR(AND(MIN(D4:L4)>=2,COUNTIF(D4:L4,">=8")>5,COUNTIF(D4:L4,">=6,5")=8,COUNTIF(D4:L4,"<3,5")=1),AND(MIN(D4:L4)>=2,OR(NOT(D4<6.5),NOT(J4<6.5)),COUNTIF(D4:L4,">=6,5")>5,COUNTIF(D4:L4,">=5")=8,COUNTIF(D4:L4,"<3,5")=1),AND(MIN(D4:L4)>=3.5,D4<5,J4<5,COUNTIF(D4:L4,">=6,5")=7),AND(MIN(D4:L4)>=3.5,OR(NOT(D4<5),NOT(J4<5)),COUNTIF(D4:L4,">=5")>5)),"TB",IF(OR(AND(MIN(D4:L4)>=2,D4<3.5,J4<3.5,COUNTIF(D4:L4,">=5")>6),AND(COUNTIF(D4:L4,">=5")>5,COUNTIF(D4:L4,"<2")<2),AND(MIN(D4:L4)>=2,OR(NOT(D4<3.5),NOT(J4<3.5)),COUNTIF(D4:L4,">=3,5")>5)),"YÃÚU","KEÏM"))))
Rất mong dc các bạn chỉ dẫn !

hoangvuluan
16-12-08, 10:50 PM
Bạn so sánh với công thức này sẽ biết lỗi ở đâu:

=IF(C18="trụ gỗ tạp","Nhàtạm",IF(OR(C18="trụ BT đúc sẵn",C18="trụ gỗ quy cách"),VLOOKUP(MAX(A3:A4),A3:S4,2),IF(AND(C18="t rụ BT",Q18="1"),VLOOKUP(MAX(A6:A8),A6:S8,2))))

cadafi
16-12-08, 10:54 PM
Mình có công thức Excel như sau :

=IF(C18="trụ gỗ tạp","Nhàtạm",IF(OR(C18="trụ BT đúc sẵn",C18="trụ gỗ quy cách"),VLOOKUP(MAX(A3:A4),A3:S4,2)),if(and(C18="trụ BT",Q18="1"),vlookup(max(A6:A8),A6:S8,2)))
Công thức của bạn sai ở những chỗ tô đậm màu đỏ, đúng ra phải như thế này:

=IF(C18="trụ gỗ tạp","Nhàtạm",IF(OR(C18="trụ BT đúc sẵn",C18="trụ gỗ quy cách"),VLOOKUP(MAX(A3:A4),A3:S4,2),IF(AND(C18="trụ BT",Q18="1"),VLOOKUP(MAX(A6:A8),A6:S8,2),"")))

ST-Lu!
17-12-08, 08:04 AM
Bạn hỏi bên webketoan một câu tương tự thì phải, đã có câu trả lời rồi đó bạn
Thực ra câu trên chỉ bỏ một dấu đóng sau A3:S4,2)) là ổn thôi

nguyentronghieu876356
17-12-08, 11:43 AM
Cám ơn các bạn rất nhiều mình giải quyết được rồi, nhưng có điều mình không hiểu khi giá trị C18 là "trụ gỗ tạp", "trụ BT đúc sẵn" thì hàm trả về giá trị theo đúng ý mình , còn khi C18 ="trụ BT" và Q18=1 thì nó lại trả về giá trị True/false đúng ra phải là nhà bán kiên cố A1 ?
=IF(C18="trụ gỗ tạp","Nhà tạm",IF(OR(C18="trụ BT đúc sẵn",C18="trụ gỗ quy cách"),VLOOKUP(MAX(A3:A4),A3:S4,2),IF(AND(C18="trụ BT",Q18="1"),VLOOKUP(MAX(A6:A8),A6:S8,2,0))))

Rất mong các bạn tiếp tục giúp đỡ cho mình !

BNTT
17-12-08, 11:58 AM
Cám ơn các bạn rất nhiều mình giải quyết được rồi, nhưng có điều mình không hiểu khi giá trị C18 là "trụ gỗ tạp", "trụ BT đúc sẵn" thì hàm trả về giá trị theo đúng ý mình , còn khi C18 ="trụ BT" và Q18=1 thì nó lại trả về giá trị True/false đúng ra phải là nhà bán kiên cố A1 ?
=IF(C18="trụ gỗ tạp","Nhà tạm",IF(OR(C18="trụ BT đúc sẵn",C18="trụ gỗ quy cách"),VLOOKUP(MAX(A3:A4),A3:S4,2),IF(AND(C18="trụ BT",Q18="1"),VLOOKUP(MAX(A6:A8),A6:S8,2,0))))

Rất mong các bạn tiếp tục giúp đỡ cho mình !
Bạn phải gửi cái file của bạn lên đây thì mới có câu trả lời chính xác được.
Nghĩa là, cái dùng để dò VLOOKUP nó như thế nào?
Trong cột A có cái gì? (để kiểm tra hàm MAX)...

nguyentronghieu876356
17-12-08, 12:33 PM
Cám ơn bạn rất nhiều! phần mình hỏi nằm tại ô màu đỏ , mình xin giải thích một chút về phần mềm : phần mềm dùng để tra kết cấu nhà cho các người dân bị giải tỏa, nguyên tắt là gồm một bảng cấu trúc các loại nhà như nhà tạm , nhà bán kiên cố C1 ,C2 ......kèm theo các cấu kiện phải có là cột , dầm , móng, mái , tường .....phải khớp
Nguyên tắt trong bảng cấu kiện là khi nhập đúng loại cột , dầm , vách ....thì nó sẽ trả về số 1 , còn không giống thì trả về số không , sao đó có một cột để cộng tổng theo hàng ngang các cấu kiện dầm, kèo cột , sau đó có hàm max để tìm giá trị lớn nhất sẽ là dòng chứa loại nhà cần tra , đương nhiên còn phải kết hợp với hàm Vlookup để trả về đúng ô của từng cấu kiện. Ngoài ra , do lấy phần cấu kiện "cột" và "số tầng" làm chủ đạo nên bạn thấy trong hàm if có dòng if(C18=trụ gỗ ,trụ BT đúc sẵn , trụ BT .,.....)
file:///C:/DOCUME%7E1/NGUYEN%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg

Mình để ý thấy mấu chốt tại hàm "and" nên trả về true/ fasle nhưng không biết khắc phục thế nào để trả về giá trị mình mong muốn !

ndu96081631
17-12-08, 12:56 PM
Cám ơn bạn rất nhiều! phần mình hỏi nằm tại ô màu đỏ , mình xin giải thích một chút về phần mềm : phần mềm dùng để tra kết cấu nhà cho các người dân bị giải tỏa, nguyên tắt là gồm một bảng cấu trúc các loại nhà như nhà tạm , nhà bán kiên cố C1 ,C2 ......kèm theo các cấu kiện phải có là cột , dầm , móng, mái , tường .....phải khớp
Nguyên tắt trong bảng cấu kiện là khi nhập đúng loại cột , dầm , vách ....thì nó sẽ trả về số 1 , còn không giống thì trả về số không , sao đó có một cột để cộng tổng theo hàng ngang các cấu kiện dầm, kèo cột , sau đó có hàm max để tìm giá trị lớn nhất sẽ là dòng chứa loại nhà cần tra , đương nhiên còn phải kết hợp với hàm Vlookup để trả về đúng ô của từng cấu kiện. Ngoài ra , do lấy phần cấu kiện "cột" và "số tầng" làm chủ đạo nên bạn thấy trong hàm if có dòng if(C18=trụ gỗ ,trụ BT đúc sẵn , trụ BT .,.....)
file:///C:/DOCUME%7E1/NGUYEN%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg
1> Thứ nhất:
Công thức của bạn là:

...... IF(AND(C18="trụ BT",Q18="1").....
Phải sửa lại thành:

...... IF(AND(C18="trụ BT",Q18=1)......
2> Thứ 2:
Cell C18 có 5 tùy chọn và Q18 có 7 tùy chọn
- Trong hàm IF bạn chỉ mới phát biểu 4 trường hợp cho cell C18 và 1 trường hợp cho Q18 ---> Vậy các trường hợp còn lại, không thỏa mản thì đương nhiên nó cho kết quả = FALSE là đúng rồi còn gì
3> Giải quyết
Bạn hãy liệt kê ra tất cả các trường hợp có thể xảy ra cho C18, Q18, đồng thời nêu luôn kết quả mong muốn đạt được
Tôi gữi file đính kèm lên đây! Bạn hãy điền vào các cell có dấu ? tất cả kết quả mà bạn muốn đạt được ---> Xong thì chỉ cần hàm INDEX là ra (khỏi IF)

nguyentronghieu876356
17-12-08, 12:57 PM
Nếu mình đổi hàm "and" thành chữ "or" thì OK nhưng sai vấn đề mình lý luận ! thiệt lạ !

ndu96081631
17-12-08, 01:01 PM
Nếu mình đổi hàm "and" thành chữ "or" thì OK nhưng sai vấn đề mình lý luận ! thiệt lạ !
Hỏng dám OK đâu
Bạn sửa AND thành OR xong, bạn thử chọn C18 = trụ gạch và Q18 = 2 xem nó ra cái gì?
Vấn đề nằm ở chổ hàm IF của bạn chưa phát biểu hết tất cả các trường hợp có thể xảy ra ---> Trong trường hợp này người ta thường dùng INDEX để tra cứu 2 chiều, sẽ nhanh và gọn hơn IF

nguyentronghieu876356
17-12-08, 01:02 PM
Cảm ơn bạn rất nhiều , để mình kiểm tra lại sẽ báo bạn kết quả nha ! Thank !

ptm0412
17-12-08, 01:03 PM
Nói về cấu trúc hàm:

=IF(C18="trụ gỗ tạp","Nhà tạm",IF(OR(C18="trụ BT đúc sẵn",C18="trụ gỗ quy cách"),VLOOKUP(MAX(A3:A4),A3:S4,2),IF(AND(C18="tr ụ BT",Q18="1"),VLOOKUP(MAX(A6:A8),A6:S8,2,0);0)))

BNTT
17-12-08, 01:36 PM
Xin phân tích kỹ lại bài của bạn một chút:

1.



Nguyên tắc trong bảng cấu kiện là khi nhập đúng loại cột , dầm , vách ....thì nó sẽ trả về số 1 , còn không giống thì trả về số không
Có phải cái nguyên tắc này là ở các cột D, F, H, J, L, N, P và R ?

Bạn kiểm tra lại dùm. Có thể kết quả ở B19 sai là do từ đây.

Tôi ví dụ: Công thức tại D7, D9, D10: =IF(C18="mái BT",1,0)

Có phải công thức trong cột D thì liên quan đến cột C, là nói về loại móng gì ?

Vậy tại sao ở đây thì lại nói là mái BT? Do đó kết quả trong những ô này luôn luôn bằng 0 (SAI)

Nếu như đúng theo yêu cầu mà tôi vừa trích dẫn lại ở trên đây, thì bạn nên dùng công thức này trong cột D:

Tại D2: IF(C$18=C2, 1, 0)
Copy xuống đến D16.

Copy qua cho các cột F, H, J, L, N, P và R luôn (từ hàng 2 đến hàng 16)


2.

Công thức này:

=IF(C18="trụ gỗ tạp", "Nhà tạm", IF(OR(C18="trụ BT đúc sẵn", C18="trụ gỗ quy cách"), VLOOKUP(MAX(A3:A4), A3:S4,2), IF(AND(C18="trụ BT", Q18=1), VLOOKUP(MAX(A6:A8), A6:S8, 2, 0),?)))

Không sai, nhưng thiếu. Bạn xem kỹ mấy cái tôi tô đỏ ở trên đây.

Bạn chỉ mới lập công thức để dò ra loại "nhà tạm" (B2), loại nhà từ B3 đến B4, và từ B6 đến B8.

Vậy mấy cái loại nhà ở B5, và từ B9 đến B16 thì sao ? Không có trong công thức, do đó công thức của bạn trả về FALSE chứ sao.

Bạn điền cho đủ vào chỗ dấu ? thì sẽ không còn gặp chữ FALSE nữa.

xxmtxx
01-02-14, 10:35 PM
Cảm phiền bạn nào xem giúp mình hàm if này. Sao nó cứ báo lỗi you have entered too many arguments (http://www.giaiphapexcel.com/forum/showthread.php?17390-l%E1%BB%97i-you-have-entered-too-many-arguments). xin cám ơn
=IF(IF($X221="GM1",$H221,IF($X221="GM2",$I221,IF($X221="GM3",$J221,0)))<=900,((IF($X221="GM1",$H221,IF($X221="GM2",$I221,IF($X221="GM3",$J221,0)))*32%)+IF($X221="GM1",$H221,IF($X221="GM2",$I221,IF($X221="GM3",$J221,0)))),IF($X221="GM1",$H221,IF($X221="GM2",$I221,IF($X221="GM3",$J221,0)))<=400,((IF($X221="GM1",$H221,IF($X221="GM2",$I221,IF($X221="GM3",$J221,0)))*32%)+IF($X221="GM1",$H221,IF($X221="GM2",$I221,IF($X221="GM3",$J221,0)))),((IF($X221="GM1",$H221,IF($X221="GM2",$I221,IF($X221="GM3",$J221,0)))*25%)+IF($X221="GM1",$H221,IF($X221="GM2",$I221,IF($X221="GM3",$J221,0)))))

xxmtxx
02-02-14, 12:30 PM
cuối cùng cũng mình cũng đã làm được rồi,