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

Liên hệ QC
Status
Không mở trả lời sau này.
Bác muốn hiểu thì dùng chức năng Evaluate Formula của Excel rồi xem cho kỹ mới hiểu được.
Chứ trình độc đọc hàm chưa cao thì làm sao mà hiểu được chứ!
Bác click chuột chọn ô H3 -> vào Tools -> Formula Auditing -> Evaluate Formula -> rồi click chọn Evaluate để xem từng công đoạn sẽ hiểu dần thôi.
Thân.
 
Em không hiểu lập luận của công thức này suy nghỉ mãi mà không ra +-+-+-++-+-+-++-+-+-+
Đúng là đập ba búa củng ngu **~**
=MIN(D3;DM)*E3+MAX(D3-DM;0)*GVDM
Chử DM kia thì ok biết ,hiểu (name thì hiểu )
còn cái này :MIN(D3;DM) ?????
Này nữa :
MAX(D3-DM;0)????????

Em có hàm Min & Max đây luôn mà củng không hiểu ?
Các anh giải thích hộ em !**~**
Thanks!

Trời! Ở bài số #6 trên kia, tôi đã giải thích cặn kẽ hàm MIN và hàm MAX rồi mà, Volga có coi không vậy ? DM và GVMD (của anh Ndu) thì cũng tương tự với Dmuc và GiaVuotDmuc của tôi thôi... Xem lại đi nha.
 
làm gì khi IF chỉ có 7 vòng lặp mà bài toán của tớ lại có trên 30 đối số

Các anh chị nào có thể giúp dùm làm thế nào để có thể giải quyết dc bài toán trên không?
 
Có nhiều cách lắm. Ví dụ, kẻ bảng phụ rồi dùng VLOOKUP... Hoặc chẻ nhỏ các điều kiện ra, rồi dùng toán tử nối các hàm IF lại với nhau... Nhưng nói cho cùng thì phải có dữ liệu để thử. Mà chẳng lẽ giúp bạn, phải giúp luôn chuyện tạo ra một dữ liệu mẫu với 30 đối số hay sao ?
 
Lần chỉnh sửa cuối:
Các anh chị nào có thể giúp dùm làm thế nào để có thể giải quyết dc bài toán trên không?
100 hay 200 đối số cũng có cách giải quyết! Tuy nhiên cụ thể là (những) đối số và bài toán yêu cầu của bạn là gì!? cần phải cụ thể thì mới có cách giải tối ưu được.

Một trong những cách thay thế hàm IF là các hàm tìm kiếm (Vlookup, Index, Match, v.v...) và SUMPRODUCT.

Lấy một ví dụ đơn giản, như đường link của phuong1604, tôi ví dụ 1 cách dùng Match
VD đơn giản nhất là:
Tại B1 :Nếu A1="A", B1=1, A1="B", B1=2, A1="C", B1=3, A1="D", B1=4, A1="E", B1=5, A1="F", B1=6, A1="G", B1=7, A1="H", B1=8, A1="I", B1=9, A1="J", B1=10, A1="K", B1=11, A1="L", B1=12, A1="M", B1=13, ....
Nếu dùng IF thì bó tay: Hãy dùng Match:
PHP:
=MATCH(A1,{"A","B","C","D","E","F","G","H","I","J","K","L","M"},0)
Bạn thấy bài toán bây giờ nó đơn giản hơn chưa?
 
Lần chỉnh sửa cuối:
vấn đề khi dùng hàm if

mọi người xem giúp e, ko bik vì sao khi e dùng hàm if ở cột ƯU TIÊN như thế này thì nó lại báo kết quả sai.
 

File đính kèm

  • ham_if.xls
    33.5 KB · Đọc: 63
Bạn sửa lại công thức như sau:
IF(RIGHT(B4,1)="1",2,IF(RIGHT(B4,1)="2",1.5,1))

Vì hàm right trả về giá trị là text lên phải để trong ngoặc
 
Bạn phải viết IF(RIGHT(B3;1)="1";2;IF(RIGHT(B3;1)="2";1,5;1))
 
mọi người xem giúp e, ko bik vì sao khi e dùng hàm if ở cột ƯU TIÊN như thế này thì nó lại báo kết quả sai.
Cái này không cần If đâu bạn,
Ô M3 gõ công thức:
PHP:
M3 = CHOOSE(--RIGHT(B3),2,1.5,1)
Sau đó fill công thức xuống dưới là xong.
 

File đính kèm

  • ham_if.xls
    32.5 KB · Đọc: 44
Lần chỉnh sửa cuối:
vấn đề khi dùng hàm if

Ở cột B là cột dạng text, nên bạn phải gán cho nó thành giá trị như sau
=IF(VALUE(RIGHT(B3,1))=1,1,IF(VALUE(RIGHT(B3,1))=2,1.5,1))
 

File đính kèm

  • ham_if(1).xls
    32 KB · Đọc: 23
Lần chỉnh sửa cuối:
Nếu chỉ có 1, 2, 3 thôi thì ngắn nhất là viết như vầy:
=2.5-(RIGHT(B3))*0.5
Thân.
 
Ô M3 gõ công thức:
PHP:
M3 = CHOOSE(--RIGHT(B3),2,1.5,1)
Sau đó fill công thức xuống dưới là xong.[/quote]

Công thức này trông lạ thế, sao phía trước hàm right lại phải có hai dấu -- vậy
 
Cái này không cần If đâu bạn,
Ô M3 gõ công thức:
PHP:
M3 = CHOOSE(--RIGHT(B3),2,1.5,1)
Sau đó fill công thức xuống dưới là xong.

Các bạn xem kỷ nhe .Trong File của anh ca_dafi có công thức ở cột số thứ tự rất hay đó !
Mình mới biết lần đầu tiên nhe !
Thanks
 
Sau khi thí nghiệm thì thấy có thể viết được như vầy:
=CHOOSE(RIGHT(B5),2,1.5,1)

Còn hai dấu gạch kia dùng để đổi text về dạng số.
Bạn cũng có thể viết:
=CHOOSE(RIGHT(B5)*1,2,1.5,1)

Bạn cũng có thể thử với công thức tạo định dạng tổng quát này:
=TEXT(ROW()-2,REPT("0",LEN(COUNTA(C:C))))
Thân.
 
Lần chỉnh sửa cuối:
mọi người xem giúp e, ko bik vì sao khi e dùng hàm if ở cột ƯU TIÊN như thế này thì nó lại báo kết quả sai.
Bạn nhập sai công thức thôi, lý ra phải là:
M3 =IF(RIGHT(B3,1)="1",2,IF(RIGHT(B3,1)="2",1.5,1))
(có dấu ")
Tuy nhiên công thức này có thể cải tiến lại thành:
M3 =MAX(1,2.5-RIGHT(B3)*0.5)
Khỏi IF luôn
 
có thể giải thích cho e cái hàm choose ở trên ko? e đọc lý thuyết mà ko hiểu lắm. cái --right(b3) đó nó đâu có chỉ là thứ tự bao nhiêu đâu? với lại nếu như có thêm 1 SBD chẳng hạn như A111-4 thì sao? Hoặc là có nhiều số khác nữa thì sao? Hoặc là không có thứ tự 3 mà chỉ có 4?
 
Lần chỉnh sửa cuối:
có thể giải thích cho e cái hàm choose ở trên ko? e đọc lý thuyết mà ko hiểu lắm. cái --right(b3) đó nó đâu có chỉ là thứ tự bao nhiêu đâu? với lại nếu như có thêm 1 SBD chẳng hạn như A111-4 thì sao? Hoặc là có nhiều số khác nữa thì sao? Hoặc là không có thứ tự 3 mà chỉ có 4?

Bạn vào đây xem lại hàm choose
Vào đây xem ý nghĩa của hai dấu --
Sau đó tách từng phần công thức ra bạn sẽ hiểu tách hàm Right ra coi nó có kết quả là gì ?
Thân
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom