Xin chỉ giúp cách thu gọn hàm if lồng

Liên hệ QC

hauhn

Thành viên mới
Tham gia
12/5/09
Bài viết
11
Được thích
1
Tình hình em cần làm phép so sánh giữa 2 giá trị. nếu số đưa ra nằm trong khoảng 2 giá trị nào đó trong bảng giá trị sẽ trả về giá trị cận trên. Em không biết có công thức nào nhanh không, đang dùng hàm if lồng. nhưng lồng nhiều quá, if cũng không nhận hết. có ai có cách nào giúp em với. Em cảm ơn!
 

File đính kèm

  • Xin sua ham.xls
    17 KB · Đọc: 40
Bạn dùng công thức này nhé.
=IF(B8<>"",INDEX($E$9:$G$21,MATCH(B8,$G$9:$G$21,1)+1,1),"")
 

File đính kèm

  • Sua IF.xls
    18 KB · Đọc: 50
Tình hình em cần làm phép so sánh giữa 2 giá trị. nếu số đưa ra nằm trong khoảng 2 giá trị nào đó trong bảng giá trị sẽ trả về giá trị cận trên. Em không biết có công thức nào nhanh không, đang dùng hàm if lồng. nhưng lồng nhiều quá, if cũng không nhận hết. có ai có cách nào giúp em với. Em cảm ơn!
Tạm dùng công thức dưới đã.
Mã:
=INDEX($E$9:$E$21;MATCH(B8;$G$9:$G$21;1)+1;1)
 
Công thức trong ô C8 :
PHP:
=OFFSET($E$8,MATCH(B8,$G$8:$G$21,1),)
 
Tình hình em cần làm phép so sánh giữa 2 giá trị. nếu số đưa ra nằm trong khoảng 2 giá trị nào đó trong bảng giá trị sẽ trả về giá trị cận trên. Em không biết có công thức nào nhanh không, đang dùng hàm if lồng. nhưng lồng nhiều quá, if cũng không nhận hết. có ai có cách nào giúp em với. Em cảm ơn!
----
Nếu số so sánh bằng với 1 số trong bảng thì các công thức của salam và duongdv không cùng kết quả với Bạn. Tôi sửa lại như sau:
Mã:
=IF(ISNA(MATCH(B9;$G$8:$G$21;0));OFFSET($E$8;MATCH(B9;$G$8:$G$21;1););OFFSET($E$8;MATCH(B9;$G$8:$G$21;0)-1;))
 
Tình hình em cần làm phép so sánh giữa 2 giá trị. nếu số đưa ra nằm trong khoảng 2 giá trị nào đó trong bảng giá trị sẽ trả về giá trị cận trên. Em không biết có công thức nào nhanh không, đang dùng hàm if lồng. nhưng lồng nhiều quá, if cũng không nhận hết. có ai có cách nào giúp em với. Em cảm ơn!
Phương pháp làm thì các bạn đã giúp, tuy nhiên mình thấy lấy cận trên sẽ không sát với thực tế. Chẳng hạn trong khoảng (38.456-50.240) tương ứng với khoảng (L-M), nếu giá trị tra là 38.460 thì giá trị trả về phải là L. Mình đề nghị phương án tìm gần đúng với giá trị gần nhất chứ không phải là cận trên, thân!
 

File đính kèm

  • Lookup-DN.xls
    17 KB · Đọc: 30
Lần chỉnh sửa cuối:
Thanks các bro. em thấy ý bác DOSNET hợp với em quá. chỉ còn chút vấn đề là khi em copy công thức của bác trong file excel gửi kèm, hoặc click đúp vào đó rồi Enter thì nó báo lỗi luôn. hình như bác có dùng VB mà em không tìm thấy ^_^ bác gửi giúp em nhé.
 
Phương pháp làm thì các bạn đã giúp, tuy nhiên mình thấy lấy cận trên sẽ không sát với thực tế. Chẳng hạn trong khoảng (38.456-50.240) tương ứng với khoảng (L-M), nếu giá trị tra là 38.460 thì giá trị trả về phải là L. Mình đề nghị phương án tìm gần đúng với giá trị gần nhất chứ không phải là cận trên, thân!
Cái này của anh hay thiệt MATCH(MIN(ABS(B8-DT)),ABS(B8-DT),0)
tưởng như tìm tương đối nhưng lại là tuyệt đối.
 
Thanks các bro. em thấy ý bác DOSNET hợp với em quá. chỉ còn chút vấn đề là khi em copy công thức của bác trong file excel gửi kèm, hoặc click đúp vào đó rồi Enter thì nó báo lỗi luôn. hình như bác có dùng VB mà em không tìm thấy ^_^ bác gửi giúp em nhé.

Không có chút gì VBA, công thức trong file mình làm là công thức mảng. Bạn phải ấn Ctrl+Shift+Enter khi kết thúc. Khi ứng dụng công thức này sang file của bạn, cần đặt lại vùng tham chiếu đã được đặt trong name (vào insert\name\define sẽ thấy), quan trọng là biết hướng (giải pháp), không nên copy một cách máy móc, có chỗ nào không hiểu mình sẽ trả lời, thân!
 
Web KT
Back
Top Bottom