Tìm kiếm giá trị lớn hơn trong bảng tính. (1 người xem)

Người dùng đang xem chủ đề này

hotimmoi

Thành viên mới
Tham gia
9/11/12
Bài viết
5
Được thích
0
Chào cả nhà.
Mình có 1 vấn đề muốn hỏi ý kiến của cả nhà. Mong mọi người giúp nhé.
Vấn đề của mình như sau. Từ giá trị ô C2 = 29.5, tìm kiếm và lấy giá trị lớn hơn ở trong cột từ D8:D31, Sau khi biết giá trị trong cột D sẽ gióng sang trái tìm giá trị tương ứng ở cột từ A8:A31.
Giá trị cần tìm cuối cùng của mình là giá trị trong cột A tương ứng với ô trong cột D.
Mọi người tham khảo file đính kèm và giúp mình nhé.
Cảm ơn mọi người
 

File đính kèm

C2 = 29.5 --> D10 = 32
Trị nhỏ nhất trong cột A là 40. Lấy gì tương ứng?

Yêu cầu cho ví dụ rõ ràng, trị 29.5 ấy sẽ lấy được gì tỏng cột D, và từ đó lấy được gì trong cột A.
 
Như ví dụ trên mình cần so sánh giá trị cho trước C2=29.5 với các giá trị của cột D. Sau đó lấy giá trị lớn hơn gần nhất là D10 = 32. Từ D10 = 32 mình gióng sang trái tìm giá trị ô A10 là 50. Giá trị cuối cùng mình cần là A10 = 50. Vậy giúp mình xem công thức như thế nào.
Thanks
 
Như ví dụ trên mình cần so sánh giá trị cho trước C2=29.5 với các giá trị của cột D. Sau đó lấy giá trị lớn hơn gần nhất là D10 = 32. Từ D10 = 32 mình gióng sang trái tìm giá trị ô A10 là 50. Giá trị cuối cùng mình cần là A10 = 50. Vậy giúp mình xem công thức như thế nào.
Thanks
Nếu tôi nhập Min Dia là 250 thì như thế nào bạn nhỉ, hay không có giá trị lớn hơn 240
 
Nếu tôi nhập Min Dia là 250 thì như thế nào bạn nhỉ, hay không có giá trị lớn hơn 240

Giá trị tìm kiếm của mình ở cột D sẽ là giá trị bằng hoặc lớn hơn gần nhất với giá trị ở C2. Bảng đó của mình chỉ có giá trị Min. Dia. đến D = 240. Nếu lớn hơn thì chắc công thức sẽ báo N/A
Có bác nào giúp được không nhỉ
 
Giá trị tìm kiếm của mình ở cột D sẽ là giá trị bằng hoặc lớn hơn gần nhất với giá trị ở C2. Bảng đó của mình chỉ có giá trị Min. Dia. đến D = 240. Nếu lớn hơn thì chắc công thức sẽ báo N/A
Có bác nào giúp được không nhỉ

Ô H2 bạn có thể dùng công thức sau:
Mã:
=OFFSET($A$7,25-MATCH(C2,LARGE(D8:D31,ROW(1:24)),-1),)
(nhấn Ctrl + shift + enter)
 
Ô H2 bạn có thể dùng công thức sau:
Mã:
=OFFSET($A$7,25-MATCH(C2,LARGE(D8:D31,ROW(1:24)),-1),)
(nhấn Ctrl + shift + enter)

Cảm ơn Pro @VMH0307 nhé. Em ngu cái vụ Excel này lắm. Bác có thể giải thích hộ em ý nghĩa của từng hàm ở trong được không ạ. Từ hàm Row, Large, Match và hàm Offset ở ngoài. Và sao lại phải dùng công thức mảng ở đây ạ. Mà sao bác chỉ lấy row từ 1-24 mà không phải từ 1-31. Và sao ở ngoài hàm match lại phải có "25-match".
Cám ơn bác nhiều.
 
=INDEX($A$8:$A$31,IFERROR(MATCH($C$2,$D$8:$D$31)+(LOOKUP($C$2,$D$8:$D$31)<>$C$2),1))
Hàm này là hàm thường, không phải mảng
Hàm IFERROR dùng để bẫy lỗi khi số cần tìm nhỏ hơn số nhỏ nhất (22)

@VMH0307:
Sáng kiến dùng Large và Row để đảo nghịch mảng rất hay.
Nhưng hình như chủ thớt muốn #N/A nếu gặp trị lớn. Như vậy dùng INDEX được rồi, không phải dùng OFFSET.

@chủ thớt:
Xin đừng gọi tôi là pro nhé. Tôi dị ứng lắm. Ở môi trường tôi làm việc, từ này dùng để chế giễu hoặc khinh miệt. Cũng đừng thanks hay dear gì cả, lý do tương tự.
 
Cảm ơn bạn @VetMini. Mình sẽ không gọi vậy nữa.
Hàm mà các bạn đưa ra rất hay nhưng mình vẫn thấy khó hiểu quá. Do không phải dân chuyên nên có lẽ mình phải tìm hiểu thêm về cách dùng hàm này.
 
Giải thích:
Hàm Match chỉ tìm được trị bằng y hoặc trị nhỏ hơn trị cần tìm.
Ví dụ bạn tìm 25 giữa 20 và 30 thì nó sẽ trả về 20
Vì bạn muốn lấy trị lớn hơn thì bắt buộc phải bảo kết quả nhảy lên 1 bước.
Cũng ví dụ trên, hàm match trả về 20. Bạn cần làm thêm một con toán với nhiệm vụ: nếu kết quả trả về không chính xác thì nhảy lên 1 bước. Đó là biểu thức Lookup(...)<>trị
Hàm match tìm gần đúng cũng bị lỗi nếu số cần tìm nhỏ hơn số nhỏ nhất trong mảng. Vì vậy bạn phải dùng hàm Iferror để bẫy lỗi. Nếu lỗi thì đẩy nó vào trị đầu tiên.
Hàm Index thì ai cũng biết, không cần giải thích thêm.

Công thức dùng hàm Large để đảo nghịch mảng là thủ thuật cao. Giải tích dài dòng lắm.
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom