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

Liên hệ QC
Status
Không mở trả lời sau này.
Hihi
Không ngờ cái bài nhìn chóng mặt luôn mà các Thầy cũng tham gia quá cỡ
Làm bằng code như Thầy Sa hoặc tạo bảng như Thầy Ptm thì Ok, nhưng nếu mình gặp bài như thế này thì mình cắt "thằng" If nó ra làm nhiều "khúc" cho nó nhẹ tấm thân, dành thời gian nhậu
Hihi, công nhận chóng mặt thật (mình chỉ copy dữ liệu điều kiện của tác giả cho đỡ cực)
 

File đính kèm

  • thay if.xls
    30.5 KB · Đọc: 36
Giải f áp này còn 1 khuyết tật:

Làm bằng code hoặc tạo bảng: Ok, nhưng nếu mình gặp bài như thế này thì mình cắt "thằng" If nó ra làm nhiều "khúc" cho nó nhẹ tấm thân, dành thời gian nhậu
Hihi, công nhận chóng mặt thật (mình chỉ copy dữ liệu điều kiện của tác giả cho đỡ cực)

Nhưng nếu [D15]=4 & [E15]=2001 thì lý ra (theo iêu cầu tác giả) là 'Good";
Thì của bạn là trống trơn!?!

Nhậu chưa ngon được đó!
 
Lần chỉnh sửa cuối:
Muốn giúp bạn lắm, nhưng không hiểu bạn muốn giúp cái gì.
Bạn nói cụ thể đi, dựa vào cái gì để tính ra cái gì? Có vậy mới giúp được.
đại loại dữ liệu ở 2 ô D15 vs E15. Trong ngoặc AND là điều kiện, đúng thì in ra số ở vế 2, sai thì tiếp tục IF tiếp theo đến khi hết.
Nhưng chỉ dc 7 lần IF lồng. Em chưa bít xử lý thế nào vì cũng ko rành EXCEL lắm
Mong mọi người giúp đỡ ^^!
Bài như sau, chỉ là gần 40 phép IF lồng nhau =,=
=IF(AND(D15=1,E15<=100),7700,IF(AND(D15=1,E15<250),9900,IF(AND(D15=1,E15<500),12650,IF(AND(D15=1,E15<1000),15400,IF(AND(D15=1,E15<1500),18700,IF(AND(D15=1,E15<2000),22000,IF(AND(D15=2,E15<=50),8470,IF(AND(D15=2,E15<100),10450,IF(AND(D15=2,E15<250),14850,IF(AND(D15=2,E15<500),20900,IF(AND(D15=2,E15<1000),29700,IF(AND(D15=2,E15<1500),36850,IF(AND(D15=2,E15<2000),44000,IF(AND(D15=3,E15<=50),11000,IF(AND(D15=3,E15<100),14399,IF(AND(D15=3,E15<250),18997,IF(AND(D15=3,E15<500),26499,IF(AND(D15=3,E15<1000),37389,IF(AND(D15=3,E15<1500),45980,IF(AND(D15=3,E15<2000),55055,IF(AND(D15=4,E15<=50),11616,IF(AND(D15=4,E15<100),16093,IF(AND(D15=4,E15<250),22990,IF(AND(D15=4,E15<500),30553,IF(AND(D15=4,E15<1000),44165,IF(AND(D15=4,E15<1500),57173,IF(AND(D15=4,E15<2000),68244,good)))))))))))))))))))))))))))
 
Bài như sau, chỉ là gần 40 phép IF lồng nhau =,=
=IF(AND(D15=1,E15<=100),7700,IF(AND(D15=1,E15<250) ,9900,IF(AND(D15=1,E15<500),12650,IF(AND(D15=1,E15 <1000),15400,IF(AND(D15=1,E15<1500),18700,IF(AND(D 15=1,E15<2000),22000,IF(AND(D15=2,E15<=50),8470,IF (AND(D15=2,E15<100),10450,IF(AND(D15=2,E15<250),14 850,IF(AND(D15=2,E15<500),20900,IF(AND(D15=2,E15<1 000),29700,IF(AND(D15=2,E15<1500),36850,IF(AND(D15 =2,E15<2000),44000,IF(AND(D15=3,E15<=50),11000,IF( AND(D15=3,E15<100),14399,IF(AND(D15=3,E15<250),189 97,IF(AND(D15=3,E15<500),26499,IF(AND(D15=3,E15<10 00),37389,IF(AND(D15=3,E15<1500),45980,IF(AND(D15= 3,E15<2000),55055,IF(AND(D15=4,E15<=50),11616,IF(A ND(D15=4,E15<100),16093,IF(AND(D15=4,E15<250),2299 0,IF(AND(D15=4,E15<500),30553,IF(AND(D15=4,E15<100 0),44165,IF(AND(D15=4,E15<1500),57173,IF(AND(D15=4 ,E15<2000),68244,good)))))))))))))))))))))))))))

Bó tay với cô mình, ở trên đã có 2 bài trả lời, không xem thử đã phù hợp chưa, lại còn hỏi nhờ giúp!
Thậm chí mình gõ bao nhiêu cái If đếm cũng sai: Ở đâu ra 40 If vậy cô mình?
 
đại loại dữ liệu ở 2 ô D15 vs E15. Trong ngoặc AND là điều kiện, đúng thì in ra số ở vế 2, sai thì tiếp tục IF tiếp theo đến khi hết.
Nhưng chỉ dc 7 lần IF lồng. Em chưa bít xử lý thế nào vì cũng ko rành EXCEL lắm
Mong mọi người giúp đỡ ^^!
Bài như sau, chỉ là gần 40 phép IF lồng nhau ...........
Thêm một cách!
Nếu sắp xếp các điều kiện thành bảng thì có thể sử dụng Vlookup thay cho IF cũng được đấy.
 

File đính kèm

  • Thay_IF.rar
    2.6 KB · Đọc: 38
cám ơn mọi người nhiều
tại hôm qua online bằng đt nên ko đọc được từng bài
-to ptm: ai nói là chuẩn 40 đâu, gần 40 thôi mà :|

Hihi
Không ngờ cái bài nhìn chóng mặt luôn mà các Thầy cũng tham gia quá cỡ
Làm bằng code như Thầy Sa hoặc tạo bảng như Thầy Ptm thì Ok, nhưng nếu mình gặp bài như thế này thì mình cắt "thằng" If nó ra làm nhiều "khúc" cho nó nhẹ tấm thân, dành thời gian nhậu
Hihi, công nhận chóng mặt thật (mình chỉ copy dữ liệu điều kiện của tác giả cho đỡ cực)
cách làm của anh hợp với bố cục bài của em nhất
nhưng em ko hiểu anh làm thế nào để gom thành từng khúc
anh có thể hướng dẫn qua cho em cách làm khuc1 được ko
em hơi yêu excel :((
thank anh :)
 
Chỉnh sửa lần cuối bởi điều hành viên:
Nhưng nếu [D15]=4 & [E15]=2001 thì lý ra (theo iêu cầu tác giả) là 'Good";
Thì của bạn là trống trơn!?!

Nhậu chưa ngon được đó!
Thầy ơi là Thầy, cái này nhỏ xíu, sao Thầy không giải quyết luôn giúp em
=IF(E15>2000,"good",mot&hai&ba&bon)
Như thế này thôi mà, nhậu ngon "zồi" hé Thầy
Hihi
cách làm của anh hợp với bố cục bài của em nhất
nhưng em ko hiểu anh làm thế nào để gom thành từng khúc
anh có thể hướng dẫn qua cho em cách làm khuc1 được ko
em hơi yêu excel :((
thank anh :)
Theo ý kiến riêng của mình, có "bi" nhiêu If cũng "chơi" được hết. Bạn bấm Ctrl F3 xem trong name nhé, từ từ bạn sẽ hiểu ( ở đó mình chia điều kiện của bạn ra làm 4 phần mot, hai, ba, bon tương ứng theo giá trị của cell D15=1, D15=2, D15=3, D15=4)
Hy vọng bạn hiểu, có gì bàn tiếp nếu thích
 
thầy ơi là thầy, cái này nhỏ xíu, sao thầy không giải quyết luôn giúp em
=if(e15>2000,"good",mot&hai&ba&bon)
như thế này thôi mà, nhậu ngon "zồi" hé thầy
hihi

theo ý kiến riêng của mình, có "bi" nhiêu if cũng "chơi" được hết. Bạn bấm ctrl f3 xem trong name nhé, từ từ bạn sẽ hiểu ( ở đó mình chia điều kiện của bạn ra làm 4 phần mot, hai, ba, bon tương ứng theo giá trị của cell d15=1, d15=2, d15=3, d15=4)
hy vọng bạn hiểu, có gì bàn tiếp nếu thích
còn cách này thì 100 cái if cŨNG thay thế được
cho em mượn bài của thầy pmt0412 nhé
 

File đính kèm

  • Thay_IF_DUY THUONG.xls
    21 KB · Đọc: 32
còn cách này thì 100 cái if cŨNG thay thế được
cho em mượn bài của thầy pmt0412 nhé
Dùng LOOKUP không thể tùy tiện được đâu nha ---> Lưu ý rằng bảng dò phải được sort trước
Ngoài ra công thức của bạn cũng đâu cần IF? sao không là:
PHP:
=LOOKUP($E15,$C$18:$C$25,OFFSET($C$18:$C$25,,$D$15))
 
dùng lookup không thể tùy tiện được đâu nha ---> lưu ý rằng bảng dò phải được sort trước
ngoài ra công thức của bạn cũng đâu cần if? Sao không là:
PHP:
=lookup($e15,$c$18:$c$25,offset($c$18:$c$25,,$d$15))
tại cái ofset tôi học của anh dat_butmuc chưa thành thạo lắm nên không dám sài
nên dành dùng if
 
Theo ý kiến riêng của mình, có "bi" nhiêu If cũng "chơi" được hết. Bạn bấm Ctrl F3 xem trong name nhé, từ từ bạn sẽ hiểu ( ở đó mình chia điều kiện của bạn ra làm 4 phần mot, hai, ba, bon tương ứng theo giá trị của cell D15=1, D15=2, D15=3, D15=4)
Hy vọng bạn hiểu, có gì bàn tiếp nếu thích
em có mở ra xem nhưng có đoạn chưa hiểu là tại sao trước mỗi đoạn điều kiện in ra lại có những kí tự đặc biệt ko hiểu là cái gì
với lại em thấy điều kiện anh đặt ko đủ nhưng khi check trên giao diện nó vẫn đúng ^^!
hay trong đó chỉ ghi ngắn gọn lại thôi :)
với lại không hiểu sao em ko add được điều kiện :(
viết rõ dài ở đoạn refers to và đặt tên nhưng add hay ok đều ko được
anh có thể hướng dẫn em chi tiết cách làm 1 khúc đầu tiên ko? ghi cho em cú pháp 2 điều kiện của khúc 1 cũng được. Cu phap cua em chac chan sai :(( ko biet cu phap chuan huhu
thank anh nhiều ^^!
 
Lần chỉnh sửa cuối:
em có mở ra xem nhưng có đoạn chưa hiểu là tại sao trước mỗi đoạn điều kiện in ra lại có những kí tự đặc biệt ko hiểu là cái gì
với lại em thấy điều kiện anh đặt ko đủ nhưng khi check trên giao diện nó vẫn đúng ^^!
hay trong đó chỉ ghi ngắn gọn lại thôi :)
với lại không hiểu sao em ko add được điều kiện :(
viết rõ dài ở đoạn refers to và đặt tên nhưng add hay ok đều ko được
anh có thể hướng dẫn em chi tiết cách làm 1 khúc đầu tiên ko? ghi cho em cú pháp 2 điều kiện của khúc 1 cũng được. Cu phap cua em chac chan sai :(( ko biet cu phap chuan huhu
thank anh nhiều ^^!
Vì trong bài bạn thí dụ dữ liệu nằm ở D15 và E15 nên mình đặt name từ ô F15, còn cú pháp (hay cú Mỹ gì đó) trong đó là mình cắt ra trong cái rừng IF của bạn_ tức là bạn viết ra làm sao thì mình copy y chang "zị" hổng có sửa chữa gì cả (trong dữ liệu của bạn có những khoảng trống, bạn phải chú ý sửa lại nếu không công thức báo #Name), cứ D15= 1 tìm khi nào hết thì cắt, thêm cuối nếu điều kiện sai là "", rồi lại tới D15=2...cứ thế mà cắt, chú ý là trong điều kiện đặt bạn phải cố định cột (&D15, $E15) để khi copy công thức xuống mới đúng được
Hihi, "bà Tám" quá hả, tóm lại bạn làm như thế này:
Trong cái rừng IF bạn chọn từ đầu đến hết những em nào có D15=1, bôi đen (nhớ có dấu "=" ở đầu nhé)==>copy ==>chọn cell F15==> paste ==> thêm dấu "," và 2 cái nháy " "(cái này là điều kiện SAI) ==> Enter, nếu nó không cằn nhằn gì mình thì bạn đã thành công, chon cell F15 bôi đen trên thanh công thức==> bấm copy ==>vào insert names ==> define ==> ở names in workbook bạn "quánh" mot (hay cái gì tùy bạn) ==> ở refers to ==> bạn chọn vào ô trắng paste cái công thức vào
Thế là ong xờ ong xong
Thành công được mot thì hai ba bon dễ ẹc
 
Không hiểu mọi người nghĩ sao chứ tôi không làm kiểu cò già.
Uýnh nó vào 1 bảng rồi dùng Index, Vlookup, có khó khăn gì đâu? Công thức càng ngắn càng ít sai, sai cũng dễ tìm, . . .
Mai kia mốt nọ, lỡ có thay đổi chính sách gì thì sửa trong cái bảng dễ hơn nhiều.
Cụ thể là bây giờ, tác giả đang hè hụi làm theo mà vẫn chưa được. Cò làm thì nhanh lắm, copy paste 1 cái ra mot, copy paste cái nữa ra hai, 4 lần là xong. Nếu gõ từ đầu oải bỏ xừ.
 
Không hiểu mọi người nghĩ sao chứ tôi không làm kiểu cò già.
Uýnh nó vào 1 bảng rồi dùng Index, Vlookup, có khó khăn gì đâu? Công thức càng ngắn càng ít sai, sai cũng dễ tìm, . . .
Mai kia mốt nọ, lỡ có thay đổi chính sách gì thì sửa trong cái bảng dễ hơn nhiều.
Cụ thể là bây giờ, tác giả đang hè hụi làm theo mà vẫn chưa được. Cò làm thì nhanh lắm, copy paste 1 cái ra mot, copy paste cái nữa ra hai, 4 lần là xong. Nếu gõ từ đầu oải bỏ xừ.

Thầy ơi là Thầy ơi, tại chủ topic hỏi thì mình trả lời theo yêu cầu thôi chứ nếu bị chiếu vào thế này mình cũng tạo bảng cho "phẻ", đỡ đau đầu, sau này dễ sửa, trật đâu cũng dễ tìm, mà cũng tại mấy Thầy nhảy "zô" trước làm sốt ruột nhảy theo cho vui thôi chứ nhìn bài này "rối" cả con mắt
Hihi Thầy "phẻ" chưa?
 
Vì trong bài bạn thí dụ dữ liệu nằm ở D15 và E15 nên mình đặt name từ ô F15, còn cú pháp (hay cú Mỹ gì đó) trong đó là mình cắt ra trong cái rừng IF của bạn_ tức là bạn viết ra làm sao thì mình copy y chang "zị" hổng có sửa chữa gì cả (trong dữ liệu của bạn có những khoảng trống, bạn phải chú ý sửa lại nếu không công thức báo #Name), cứ D15= 1 tìm khi nào hết thì cắt, thêm cuối nếu điều kiện sai là "", rồi lại tới D15=2...cứ thế mà cắt, chú ý là trong điều kiện đặt bạn phải cố định cột (&D15, $E15) để khi copy công thức xuống mới đúng được
Hihi, "bà Tám" quá hả, tóm lại bạn làm như thế này:
Trong cái rừng IF bạn chọn từ đầu đến hết những em nào có D15=1, bôi đen (nhớ có dấu "=" ở đầu nhé)==>copy ==>chọn cell F15==> paste ==> thêm dấu "," và 2 cái nháy " "(cái này là điều kiện SAI) ==> Enter, nếu nó không cằn nhằn gì mình thì bạn đã thành công, chon cell F15 bôi đen trên thanh công thức==> bấm copy ==>vào insert names ==> define ==> ở names in workbook bạn "quánh" mot (hay cái gì tùy bạn) ==> ở refers to ==> bạn chọn vào ô trắng paste cái công thức vào
Thế là ong xờ ong xong
Thành công được mot thì hai ba bon dễ ẹc
thầy ới, bài của em phát sinh yêu cầu khoai quá, thầy giúp em phát
Giờ nó ra điều kiện là E15>2000 thì cứ tăng thêm 500 thì giá trị in ra sẽ tăng theo
thầy có thể xử lý giúp em 1 đoạn làm mẫu ko? rồi em sẽ tự giải quyết các phần sau
lấy ví dụ là D15=1, E15>2000
cứ tăng E15 thêm 500 thì giá trị in ra sẽ tăng 1600
thầy giúp em cái vòng lặp của D15=1 làm ví dụ nhá ^^!
 
thầy ới, bài của em phát sinh yêu cầu khoai quá, thầy giúp em phát
Giờ nó ra điều kiện là E15>2000 thì cứ tăng thêm 500 thì giá trị in ra sẽ tăng theo
thầy có thể xử lý giúp em 1 đoạn làm mẫu ko? rồi em sẽ tự giải quyết các phần sau
lấy ví dụ là D15=1, E15>2000
cứ tăng E15 thêm 500 thì giá trị in ra sẽ tăng 1600
thầy giúp em cái vòng lặp của D15=1 làm ví dụ nhá ^^!
Hihi, bạn vẫn còn thích lao vào cái con đường đau khổ này hả
Xin đính chính mình "hổng" phải là thầy, mình chỉ khoái nhậu với bạn bè và chọc ghẹo người ta thôi
Bài này "hổng" có giống bài trước, thành ra phải đổi câu lệnh một tí nhé
Mình có hướng dẫn bạn làm trong bài, hy vọng bạn làm được thì mình ...cũng vui lây
 

File đính kèm

  • laithay if.xls
    32.5 KB · Đọc: 29
thầy ới, bài của em phát sinh yêu cầu: Giờ nó ra điều kiện là e15>2000 thì cứ tăng thêm 500 thì giá trị in ra sẽ tăng theo
lấy ví dụ là d15=1, e15>2000
cứ tăng e15 thêm 500 thì giá trị in ra sẽ tăng 1600
!
.|d||f|g|=>?
15|1|<=2.000|22.000|<=2.500| ? (22.000+ 1.600 )
|2|<=2.000|44.000|<=2.500| ? (44.000 + 1.600 )
|3|<=2.000|55.055|<=2.500| ? (55.055 + 1.600 )
|4|<=2.000|68.244|<=2.500| ? (68.244 + 1.600 )

 
Nếu dùng bảng thì nó phải như trong file cò già ơi. Chả biết cò xem bảng xong có còn dám gõ 80 cái If hay không.
À, trong file thấy Index Ptm và vlookup Batê cho kết quả giống nhau, còn lookup của DuyThuong thì có sai vài chỗ. Lookup khó xơi lắm, đâu dễ. Nếu cộng 1 vào dữ liệu như vlookup sẽ đúng.
 

File đính kèm

  • 100If.xls
    24 KB · Đọc: 28
Hàm if hữu ích

Hôm trước tôi có vọc được công thức hàm if rất hay trên diễn đàn.
Mục đích; tính giá trị với nhiều điều kiện khép kín như:
Vd: xếp hạng học sinh.
Trên 9.0 xuất xắc
8.5-9 ---> quá giỏi
8.0-8.5 ---> giỏi
6.5-7.9 ---> khá
dưới 6.5 --->TB
giải
if(A>9,"xuất xắc",if(8.5A<9,"quá gioi",if(8<A<8.5,"giỏi",if(6.5<A<7.9,"Khá",if(A<6.5,TB)))))
cứ như vậy mình có thể áp dụng trên mọi trường hợp.
Có gì cần trao đổi thêm về nghiệp vụ xin liên hệ
http://www.trungtamtaichinh.info
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom