Giúp tìm giá trị lớn nhất trong khoảng thời gian biến đổi [help] (1 người xem)

Liên hệ QC

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

vnlinhtinh

Thành viên mới
Tham gia
11/4/13
Bài viết
27
Được thích
6
Xin mọi người lập giúp hàm để lấy giá trị lớn nhất trong khoảng thời gian tùy biến
Cám ơn!
 

File đính kèm

Xin mọi người lập giúp hàm để lấy giá trị lớn nhất trong khoảng thời gian tùy biến
Cám ơn!
1. Cột F sắp xếp hoặc không. Nếu không có ngày thỏa thì trả về 0
Mã:
=MAX(INDEX(($D$5:$D$100="A")*($F$5:$F$100<=INDIRECT($J$14))*$F$5:$F$100,0))

2. Cột F sắp xếp tăng dần (như hiện thời). Nếu không có ngày thỏa thì trả về lỗi.
Mã:
=LOOKUP(2,1/($D$5:$D$100="A")/($F$5:$F$100<=INDIRECT($J$14)),$F$5:$F$100)

Thay cho 2 có thể nhập số bất kỳ nhưng > 1.

Nếu không có nhu cầu copy công thức thì có thể bỏ các $

Sửa lại thành: Y/c: Lập hàm để lấy ngày tháng lớn nhất của A nhưng nhỏ hơn hoặc bằng ngày của biến số.
 
Ố ồ! Nhanh gọn lẹ.
Cám ơn bác batman1 nhiều nhiều!!!!!
 
'''''''''''''''''' NHỜ VẢ TIẾP !!! ***&&%

Xin lấy giúp vị trí dòng ngày tháng của A đã tìm được trong cột F đó
Edit: Trường hợp cột F không sắp xếp nhé và có thể có những ngày tháng khác trên cột F đó trùng với ngày cần tìm
 
Lần chỉnh sửa cuối:
'''''''''''''''''' NHỜ VẢ TIẾP !!! ***&&%

Xin lấy giúp vị trí dòng ngày tháng của A đã tìm được trong cột F đó
Edit: Trường hợp cột F không sắp xếp nhé và có thể có những ngày tháng khác trên cột F đó trùng với ngày cần tìm
Tôi không dám vả bạn đâu :D

Lúc này tôi không có thời gian đâu. Hôm nay là All Saints' Day, chỗ tôi là ngày nghỉ lễ, người người nhà nhà ra mộ dọn dẹp, đặt hoa và thắp nến mộ.
Nhưng nếu có MAX rồi thì cứ "tuồn" vào cấu trúc LOOKUP(2, 1/(đk1)/.../(đkn), result) thôi
Mã:
=LOOKUP(2;1/($F$5:$F$100=MAX(...))/($D$5:$D$100="A");ROW($5:$100))
Đấy là cách kinh điển. Còn nếu muốn "tuyệt chiêu" gì đó thì đợi người khác nhé.
 
Lần chỉnh sửa cuối:
Cám ơn Bát nhiều!
Hôm trước quá nửa đêm giờ VN thấy bạn reply thì đoán bạn đang ở nước ngoài mà hóa ra thật.
Kiến thức của tôi về excel thì chỉ đủ để lấy ô nọ cộng trừ nhân chia với ô kia là hết rồi. Mấy cái công thức mảng như vầy thì ....... ngoài sức tưởng tượng!:spiteful:
Có "tuyệt chiêu" khác thì tốt, không có chả sao. Giải quyết được vấn đề thế là tuyệt rồi.
Xin cảm ơn lần nữa!
 
Tôi không dám vả bạn đâu :D
Nhưng nếu có MAX rồi thì cứ "tuồn" vào cấu trúc LOOKUP(2, 1/(đk1)/.../(đkn), result) thôi
Mã:
=LOOKUP(2;1/($F$5:$F$100=MAX(...))/($D$5:$D$100="A");ROW($5:$100))
Đấy là cách kinh điển. Còn nếu muốn "tuyệt chiêu" gì đó thì đợi người khác nhé.
Vẫn bài toán đó nhưng lần này đối tượng tìm nằm lẫn lộn với nhiều đối tượng khác. Mong bác batman1 ra tay giúp lần nữa.
Cám ơn nhiều!
 

File đính kèm

Vẫn bài toán đó nhưng lần này đối tượng tìm nằm lẫn lộn với nhiều đối tượng khác. Mong bác batman1 ra tay giúp lần nữa.
Cám ơn nhiều!
Bạn hỏi thì hỏi chung mọi người thôi, đừng gọi ai lên bảng nhé. Nếu tôi có hứng thì tôi sẽ giúp. Lúc đó là quyết định của tôi.

Bởi vì bạn có nhãn hiệu với độ lớn khác nhau: B, C, K, G, J, H, V.. (1 ký tự), AA, CB, ... (2 ký tự), VCB, FDG, ... (3 ký tự), GFHJ (4 ký tự), và chúng được tách biệt nhau bởi dấu cách, nên khi nhập nhãn 2 ký tự vd. AA thì chỉ tìm cho AA, không thể bắt đoán là "A A" cũng là cái cần tìm.

Vì thế có câu hỏi: tại sao A A" có mầu đỏ trong B6?

Nếu cái kiểu đoán ý đồng đội như thế thì sẽ có trường hợp không rõ ràng. Vd. tìm "VCB" thì chỉ tìm thấy ở "E FD B JG A A VCB B J P" hay cũng tìm thấy ở "V C B GFHJ"?
 
Bạn hỏi thì hỏi chung mọi người thôi, đừng gọi ai lên bảng nhé. Nếu tôi có hứng thì tôi sẽ giúp. Lúc đó là quyết định của tôi.

Bởi vì bạn có nhãn hiệu với độ lớn khác nhau: B, C, K, G, J, H, V.. (1 ký tự), AA, CB, ... (2 ký tự), VCB, FDG, ... (3 ký tự), GFHJ (4 ký tự), và chúng được tách biệt nhau bởi dấu cách, nên khi nhập nhãn 2 ký tự vd. AA thì chỉ tìm cho AA, không thể bắt đoán là "A A" cũng là cái cần tìm.

Vì thế có câu hỏi: tại sao A A" có mầu đỏ trong B6?

Nếu cái kiểu đoán ý đồng đội như thế thì sẽ có trường hợp không rõ ràng. Vd. tìm "VCB" thì chỉ tìm thấy ở "E FD B JG A A VCB B J P" hay cũng tìm thấy ở "V C B GFHJ"?
Xin lỗi! Cái A A đó là gõ nhầm, thừa khoảng trắng. Có thể hiểu cái A A đó là giá trị duy nhất cần lấy để so sánh và tìm. Như bác nêu trên thì A A chỉ duy nhất là nó, thằng khác là AA hay A A <- (Chỗ này 2 hay nhiều khoảng trắng, post lên bị diễn đàn cắt mất còn 1) không cần tìm.
Cái A A đó có thể là một hay một cụm ký tự, mỗi từ được phân cách bởi 1 khoảng trắng như: "diễn đàn" hay "Giải pháp Excel".
 
Lần chỉnh sửa cuối:
Xin lỗi! Cái A A đó là gõ nhầm, thừa khoảng trắng. Có thể hiểu cái A A đó là giá trị duy nhất cần lấy để so sánh và tìm. Như bác nêu trên thì A A chỉ duy nhất là nó, thằng khác là AA hay A A <- (Chỗ này 2 hay nhiều khoảng trắng, post lên bị diễn đàn cắt mất còn 1) không cần tìm.
Cái A A đó có thể là một hay một cụm ký tự, mỗi từ được phân cách bởi 1 khoảng trắng như: "diễn đàn" hay "Giải pháp Excel".
Thôi tôi tự đặt điều kiện: Mỗi nhãn nếu có nhiều ký tự thì phải nhập liền, các nhãn cách nhau bằng dấu cách.

Nếu là điều kiện trên thì công thức vd. là
Mã:
=LOOKUP(2,1/(FIND(" AA "," " & $D$5:$D$25 & " ")>0)/($F$5:$F$25<=INDIRECT($J$14)),$F$5:$F$25)
 
Thôi tôi tự đặt điều kiện: Mỗi nhãn nếu có nhiều ký tự thì phải nhập liền, các nhãn cách nhau bằng dấu cách.

Nếu là điều kiện trên thì công thức vd. là
Mã:
=LOOKUP(2,1/(FIND(" AA "," " & $D$5:$D$25 & " ")>0)/($F$5:$F$25<=INDIRECT($J$14)),$F$5:$F$25)
Bác lập công thức giúp là OK rồi. Còn cái điều kiện kia em chỉnh được.
Lấy địa chỉ của nó thì cứ: LOOKUP(2;1/($F$5:$F$25=(Lookup( .... )/($D$5:$D$25=" AA ");ROW($5:$25)) là được nhỉ?
==> Em đổi cái cột cuối trong công thức của bác thành ROW để lấy dòng: ROW($5:$25) là đã nhặt được vị trí rồi. Thế đã hoàn toàn chính xác chưa nhỉ?

Cám ơn bác rất nhiều!
Edit: À mà Em khoái cái MAX(INDEX(( ..... ) của bác hơn cái LOOKUP(2,1/(FIND(....). Qua thực nghiệm thì cái MAX(INDEX(( ..... ) lấy được kết quả chính xác hơn.
Bài toán này có lập được bằng INDEX ko bác?
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom