Hàm VLOOKUP có chọn lọc (1 người xem)

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

nhatquyelec

Thành viên mới
Tham gia
17/12/10
Bài viết
48
Được thích
2
Nghề nghiệp
Elec Engineer
Chào mọi người,
Tôi có vấn đề này không biết đã ai từng gặp phải chưa.
Tôi có bảng 1:
____A____B____C
1___a____2____320
2___b____5____150
3___a____5____250
Tôi có một bảng 2 khác ví dụ:
____A____B
1___a____=vlookup(?)
2___b
Ở đây giá trị a sẽ có 2 giá trị, vậy bây giờ dùng Vlookup thế nào để Vlookup giá trị a có giá trị ở cột B lớn nhất,
Mong mọi người giúp đỡ
 
Lần chỉnh sửa cuối:
Chào mọi người,
Tôi có vấn đề này không biết đã ai từng gặp phải chưa.
Tôi có bảng 1:
____A____B____C
1___a____2____320
2___b____5____150
3___a____5____250
Tôi có một bảng 2 khác ví dụ:
____A____B
1___a____=vlookup(?)
2___b
Ở đây giá trị a sẽ có 2 giá trị, vậy bây giờ dùng Vlookup thế nào để Vlookup giá trị a có giá trị ở cột B lớn nhất,
Mong mọi người giúp đỡ
1/ không dùng hàm Vlookup được
2/ theo thứ tự dòng các giá trị cột B có qui luật gì không?
3/ gởi file lên sẽ có người giải đáp cho bạn
 
Chào mọi người,
Tôi có vấn đề này không biết đã ai từng gặp phải chưa.
Tôi có bảng 1:
____A____B____C
1___a____2____320
2___b____5____150
3___a____5____250
Tôi có một bảng 2 khác ví dụ:
____A____B
1___a____=vlookup(?)
2___b
Ở đây giá trị a sẽ có 2 giá trị, vậy bây giờ dùng Vlookup thế nào để Vlookup giá trị a có giá trị ở cột B lớn nhất,

Mong mọi người giúp đỡ


Bạn xem file có đúng ý không nhé! CT mảng
HTML:
B7=MAX(IF($A$2:$A$4=A7,$B$2:$B$4))
 

File đính kèm

gửi các bạn file để cụ thể hơn,
không phải như bạn "anhtuan2012" đã hướng dẫn ạ,
 

File đính kèm

Vẫn chưa hiểu công thức của bạn lắm, nhưng sau khi thử nghiệm tôi thấy vẫn chưa được à,
Giả sử với giá trị "a", tại dòng a , 12/12/2017 , 500.
Giá trị sau khi dùng công thức ở bảng 2 theo công thức của bạn sẽ cho ra 500.
Nhưng giả sử tôi thay đổi 12/12/2017 trong cột B của giá trị a thành 12/12/1997 chẳng hạn, thì cái mong muốn là giá trị a phải là mới nhất ở cột B, lúc này phải là a , 15/12/2016 , 250.
Giá trị a ở bảng 2 khi dùng công thức nào đó sẽ là 250.
Thử nghiệm với công thức của bạn tôi thấy hình như là so sánh giá trị ở cột C rồi thì phải,
 
Vẫn chưa hiểu công thức của bạn lắm, nhưng sau khi thử nghiệm tôi thấy vẫn chưa được à,
Giả sử với giá trị "a", tại dòng a , 12/12/2017 , 500.
Giá trị sau khi dùng công thức ở bảng 2 theo công thức của bạn sẽ cho ra 500.
Nhưng giả sử tôi thay đổi 12/12/2017 trong cột B của giá trị a thành 12/12/1997 chẳng hạn, thì cái mong muốn là giá trị a phải là mới nhất ở cột B, lúc này phải là a , 15/12/2016 , 250.
Giá trị a ở bảng 2 khi dùng công thức nào đó sẽ là 250.
Thử nghiệm với công thức của bạn tôi thấy hình như là so sánh giá trị ở cột C rồi thì phải,
Do bạn trong yêu cầu đầu tiên cho ví dụ khác trong file đính kèm, gây ra sự ngộ nhận của anh em. hì hì, đáng lẽ phạt bạn 1 ly --=0--=0

Bổ sung vào công thức của anh em theo yêu cầu sau cùng:
PHP:
C14=LOOKUP(2,1/($A$2:$A$6=A14)/($B$2:$B$6=MAX(INDEX(($A$2:$A$6=A14)*$B$2:$B$6,))),$C$2:$C$6)
Fill xuống.

Nếu bạn thích nghiên cứu công thức mảng, thì thử:
PHP:
C14=OFFSET($C$1,MATCH(A14&MAX(($A$2:$A$6=A14)*$B$2:$B$6),$A$2:$A$6&$B$2:$B$6,0),)
Ctrl+Shift+Enter, rồi fill xuống


Chúc bạn ngày vui. /-*+//-*+//-*+/
 
Lần chỉnh sửa cuối:
Trước hết thanks các bạn đã nhiệt tình giúp đỡ, công thức đáp ứng yêu cầu.
Thật, nhiều khi thấy các bạn giỏi quá, tôi cũng biết các hàm đó nhưng không kết hợp được để đáp ứng yêu cầu.
Còn về chuyện "phạt 1 ly", ... luôn sẵn sàng,
Chẳng qua diễn đàn không gặp được mặt nhau thôi chứ, được gặp, giao lưu và học hỏi những người giỏi như mọi người thì tôi rất thích, ^_^
Thanks all,
 
Trước hết thanks các bạn đã nhiệt tình giúp đỡ, công thức đáp ứng yêu cầu.
Thật, nhiều khi thấy các bạn giỏi quá, tôi cũng biết các hàm đó nhưng không kết hợp được để đáp ứng yêu cầu.
Còn về chuyện "phạt 1 ly", ... luôn sẵn sàng,
Chẳng qua diễn đàn không gặp được mặt nhau thôi chứ, được gặp, giao lưu và học hỏi những người giỏi như mọi người thì tôi rất thích, ^_^
Thanks all,
Không có chi đâu bạn, cứ hễ có gút mắc về excel bạn cứ đem lên diễn đàn GPE: vừa hỏi, vừa học, vừa vui đùa với anh em là tốt lắm rồi.

Cái chuyện "phạt" chẳng qua tạo không khí cho anh em thân quen thêm thôi, để thấy diễn đàn là nơi mình có thể gửi gắm những lo toan của mình và nhận được sự hỗ trợ vô tư lợi, trong một không khí trao đổi vui vẻ và ấm tình người. Cho nên không nên đặt nặng việc "phạt". Khà khà khà. }}}}}}}}}}}}}}}

Chúc bạn ngày thiệt vui.
 
Vâng, cám ơn bạn, có cơ hội gặp mọi người mà phạt vậy cũng vui mà,
 
Không có chi đâu bạn, cứ hễ có gút mắc về excel bạn cứ đem lên diễn đàn GPE: vừa hỏi, vừa học, vừa vui đùa với anh em là tốt lắm rồi.

Cái chuyện "phạt" chẳng qua tạo không khí cho anh em thân quen thêm thôi, để thấy diễn đàn là nơi mình có thể gửi gắm những lo toan của mình và nhận được sự hỗ trợ vô tư lợi, trong một không khí trao đổi vui vẻ và ấm tình người. Cho nên không nên đặt nặng việc "phạt". Khà khà khà. }}}}}}}}}}}}}}}

Chúc bạn ngày thiệt vui.
Em cũng từng trong DS phạt mà cũng chưa đc phạt ly nào ạ :D Chúc anh một ngày thật thật vui ạ.
 
Em góp thêm cho vui ạ
Công thức mảng kết thúc bằng Ctrl Shift Enter ạ
Cẩn thận với cái này nè em:
MATCH(MAX(IF($A$2:$A$6=A14,$B$2:$ B$6)),$B$2:$B$6,0)

Max() thì tìm được cái ngày lớn nhất thì đúng rồi, nhưng lỡ như trong dãy B2:B6 của MATCH() nó chứa 2 ngày giống nhau sau khi tìm MAX(), nhưng lại khác nhau A14 thì sẽ lấy không đúng ý mình, em có nghĩ đúng vậy không! thử thử xem.

Cho nên, công thức của anh phải ghép nó A14&MAX() thành 1 chuỗi để so khớp.

Chúc em ngày vui. }}}}}}}}}}}}}}}
 
Cẩn thận với cái này nè em:
MATCH(MAX(IF($A$2:$A$6=A14,$B$2:$ B$6)),$B$2:$B$6,0)

Max() thì tìm được cái ngày lớn nhất thì đúng rồi, nhưng lỡ như trong dãy B2:B6 của MATCH() nó chứa 2 ngày giống nhau sau khi tìm MAX(), nhưng lại khác nhau A14 thì sẽ lấy không đúng ý mình, em có nghĩ đúng vậy không! thử thử xem.

Cho nên, công thức của anh phải ghép nó A14&MAX() thành 1 chuỗi để so khớp.

Chúc em ngày vui. }}}}}}}}}}}}}}}
Vâng ạ, đúng là phải như công thức của anh mới đúng và đủ ạ :)
 
Trước hết thanks các bạn đã nhiệt tình giúp đỡ, công thức đáp ứng yêu cầu.
Thật, nhiều khi thấy các bạn giỏi quá, tôi cũng biết các hàm đó nhưng không kết hợp được để đáp ứng yêu cầu.
Còn về chuyện "phạt 1 ly", ... luôn sẵn sàng,
Chẳng qua diễn đàn không gặp được mặt nhau thôi chứ, được gặp, giao lưu và học hỏi những người giỏi như mọi người thì tôi rất thích, ^_^
Thanks all,



Nếu bạn không thích dùng offset thì dùng INDEX quen thuộc với CT Mảng:
HTML:
C14=INDEX($C$2:$C$6,MATCH(A14&MAX(IF($A$2:$A$6=A14,$B$2:$B$6)),$A$2:$A$6&$B$2:$B$6,),)
 
Do bạn trong yêu cầu đầu tiên cho ví dụ khác trong file đính kèm, gây ra sự ngộ nhận của anh em. hì hì, đáng lẽ phạt bạn 1 ly --=0--=0

Bổ sung vào công thức của anh em theo yêu cầu sau cùng:
PHP:
C14=LOOKUP(2,1/($A$2:$A$6=A14)/($B$2:$B$6=MAX(INDEX(($A$2:$A$6=A14)*$B$2:$B$6,))),$C$2:$C$6)
Fill xuống.

Nếu bạn thích nghiên cứu công thức mảng, thì thử:
PHP:
C14=OFFSET($C$1,MATCH(A14&MAX(($A$2:$A$6=A14)*$B$2:$B$6),$A$2:$A$6&$B$2:$B$6,0),)
Ctrl+Shift+Enter, rồi fill xuống


Chúc bạn ngày vui. /-*+//-*+//-*+/
Phá anh cái coi, bài này dùng Vlookup là đúng chuẩn của tác giả luôn và cũng ngắn nhất luôn, khà khà:
Mã:
C14=VLOOKUP(MAX(($A$2:$A$6=A14)*$B$2:$B$6),IF($A$2:$A$6=A14,$B$2:$C$6),2,0)
Ctrl+Shift+Enter rồi fill xuông!!!
 
Xem file gửi kèm, tôi thấy:

+ Công thức ô B14 =VLOOKUP(A14,$A$2:$C$4,3,)
Số 4 phải chữa thành 6

+ Sau đó chỉ cần bạn thêm tiêu đề cho các ô B1, C1 và sort giảm dần cột C của bảng này. Thế là xong.

Các công thức đều rất hay. Nhưng dữ liệu "tốt" (ví dụ đã sort) thì cũng hay.
 
Phá anh cái coi, bài này dùng Vlookup là đúng chuẩn của tác giả luôn và cũng ngắn nhất luôn, khà khà:
Mã:
C14=VLOOKUP(MAX(($A$2:$A$6=A14)*$B$2:$B$6),IF($A$2:$A$6=A14,$B$2:$C$6),2,0)
Ctrl+Shift+Enter rồi fill xuông!!!
khà khà, chỉ cần dùng hàm Max thôi
Mã:
C14 =1000*(MAX((A2:A6=A14)*(B2:B6))-MAX((A2:A6=A14)*(B2:B6-C2:C6/1000)))
Ctrl+Shift+Enter
với 1000 là số lớn hơn Max cột C
 
Lần chỉnh sửa cuối:
khà khà, chỉ cần dùng hàm Max thôi
Mã:
C14 =1000*(MAX((A2:A6=A14)*(B2:B6))-MAX((A2:A6=A14)*(B2:B6-C2:C6/1000)))
Ctrl+Shift+Enter
với 1000 là số lớn hơn Max cột C
Vậy lớn 1000 thì hên xui, em nghĩ như vầy là được nhất nè anh!!!
Mã:
=1/MOD(MAX((A2:A6=A14)*(B2:B6+1/C2:C6)),1)
Ctrl+Shift+Enter!!!!/-*+//-*+//-*+/
 
Lần chỉnh sửa cuối:
Vậy lớn 1000 thì hên xui, em nghĩ như vầy là được nhất nè anh!!!
Mã:
=1/MOD(MAX((A2:A6=A14)*(B2:B6+1/C2:C6)),1)
Ctrl+Shift+Enter!!!!/-*+//-*+//-*+/
kết quả ra số lẽ 499.99999 phải thêm hàm Round để làm tròn, nếu cột C có số lẽ lung tung thì không biết làm tròn thế nào cho đúng -\\/. -\\/. -\\/.
 
kết quả ra số lẽ 499.99999 phải thêm hàm Round để làm tròn, nếu cột C có số lẽ lung tung thì không biết làm tròn thế nào cho đúng -\\/. -\\/. -\\/.
Dùng round(,4) cho chắc ăn nếu có số lẻ nhiều hơn 4 số thì chịu, tại giới hạn của excel chỉ có 15 số thôi nên mới bị số lẻ vậy chứ 1/(1/a) thì phải bằng a, có lẽ sử dụng dạng * hay / không tối ưu cho bài này!!!-0-/.-0-/.
 
Trước hết thanks các bạn đã nhiệt tình giúp đỡ, công thức đáp ứng yêu cầu.
Thật, nhiều khi thấy các bạn giỏi quá, tôi cũng biết các hàm đó nhưng không kết hợp được để đáp ứng yêu cầu.
Còn về chuyện "phạt 1 ly", ... luôn sẵn sàng,
Chẳng qua diễn đàn không gặp được mặt nhau thôi chứ, được gặp, giao lưu và học hỏi những người giỏi như mọi người thì tôi rất thích, ^_^
Thanks all,
Chào nhatquyelec cùng anh em chiến hữu,

Khà khà khà, }}}}} mặc dù bài có vẻ được kết thúc từ #8, nhưng do chủ thớt nêu ý chân thành học hỏi nên các anh em không ngần ngại đưa ra "bảo bối" cuả mình. Vậy, để tôi làm công việc cuối cùng là tổng hợp lại thành 1 file, để nhatquyelec tham khảo cho dễ và "đọc" được hết toàn bộ các ý hay của anh em. Tuỳ theo sức của mình mà chọn "đồ chơi" hợp ý mình nha bạn, anh em tôi đưa toàn "đồ chơi" "gây sát thương" không hà (xem trong file sẽ biết). --=0--=0--=0

Nói vui với bạn thôi! bạn cố gắng tìm hiểu các giải pháp sẽ thấy mỗi cách có cái hay riêng. Vì vậy nó mới là đặc thù hay của "GPE".

Chúc bạn và anh em ngày thiệt vui. /-*+//-*+//-*+/
 

File đính kèm

Chào nhatquyelec cùng anh em chiến hữu,

Khà khà khà, }}}}} mặc dù bài có vẻ được kết thúc từ #8, nhưng do chủ thớt nêu ý chân thành học hỏi nên các anh em không ngần ngại đưa ra "bảo bối" cuả mình. Vậy, để tôi làm công việc cuối cùng là tổng hợp lại thành 1 file, để nhatquyelec tham khảo cho dễ và "đọc" được hết toàn bộ các ý hay của anh em. Tuỳ theo sức của mình mà chọn "đồ chơi" hợp ý mình nha bạn, anh em tôi đưa toàn "đồ chơi" "gây sát thương" không hà (xem trong file sẽ biết). --=0--=0--=0

Nói vui với bạn thôi! bạn cố gắng tìm hiểu các giải pháp sẽ thấy mỗi cách có cái hay riêng. Vì vậy nó mới là đặc thù hay của "GPE".

Chúc bạn và anh em ngày thiệt vui. /-*+//-*+//-*+/
E cảm ơn anh đã tổng hợp cho em học ké :). Diễn đàn cần lắm một nút "Thanks" :)
 
Chào nhatquyelec cùng anh em chiến hữu,

Khà khà khà, }}}}} mặc dù bài có vẻ được kết thúc từ #8, nhưng do chủ thớt nêu ý chân thành học hỏi nên các anh em không ngần ngại đưa ra "bảo bối" cuả mình. Vậy, để tôi làm công việc cuối cùng là tổng hợp lại thành 1 file, để nhatquyelec tham khảo cho dễ và "đọc" được hết toàn bộ các ý hay của anh em. Tuỳ theo sức của mình mà chọn "đồ chơi" hợp ý mình nha bạn, anh em tôi đưa toàn "đồ chơi" "gây sát thương" không hà (xem trong file sẽ biết). --=0--=0--=0

Nói vui với bạn thôi! bạn cố gắng tìm hiểu các giải pháp sẽ thấy mỗi cách có cái hay riêng. Vì vậy nó mới là đặc thù hay của "GPE".

Chúc bạn và anh em ngày thiệt vui. /-*+//-*+//-*+/
Nhiều vũ khí vậy anh, file anh thiết kế đẹp ghê!!!
Mà cái lookup của anh cũng là mảng mà anh, chẳng qua không bấm Ctrl+Shift+Enter thôi, giông như dùng Index(,) để giấu vậy!!!--=0--=0--=0
Chúc anh ngày vui!!!
 
Lần chỉnh sửa cuối:
Chào nhatquyelec cùng anh em chiến hữu,

Khà khà khà, }}}}} mặc dù bài có vẻ được kết thúc từ #8, nhưng do chủ thớt nêu ý chân thành học hỏi nên các anh em không ngần ngại đưa ra "bảo bối" cuả mình. Vậy, để tôi làm công việc cuối cùng là tổng hợp lại thành 1 file, để nhatquyelec tham khảo cho dễ và "đọc" được hết toàn bộ các ý hay của anh em. Tuỳ theo sức của mình mà chọn "đồ chơi" hợp ý mình nha bạn, anh em tôi đưa toàn "đồ chơi" "gây sát thương" không hà (xem trong file sẽ biết). --=0--=0--=0

Nói vui với bạn thôi! bạn cố gắng tìm hiểu các giải pháp sẽ thấy mỗi cách có cái hay riêng. Vì vậy nó mới là đặc thù hay của "GPE".

Chúc bạn và anh em ngày thiệt vui. /-*+//-*+//-*+/
bạn rất chu đáo, giúp mọi người học được nhiều điều. chỉ tiếc máy mình cùi quá, chỉ cài được Excell 2007, không thấy hết công sức của bạn, chắc phải tậu máy mới cho bằng anh em
chúc các bạn 1 ngày vui }}}}} }}}}} }}}}}
 
Chào nhatquyelec cùng anh em chiến hữu,

Khà khà khà, }}}}} mặc dù bài có vẻ được kết thúc từ #8, nhưng do chủ thớt nêu ý chân thành học hỏi nên các anh em không ngần ngại đưa ra "bảo bối" cuả mình. Vậy, để tôi làm công việc cuối cùng là tổng hợp lại thành 1 file, để nhatquyelec tham khảo cho dễ và "đọc" được hết toàn bộ các ý hay của anh em. Tuỳ theo sức của mình mà chọn "đồ chơi" hợp ý mình nha bạn, anh em tôi đưa toàn "đồ chơi" "gây sát thương" không hà (xem trong file sẽ biết). --=0--=0--=0

Nói vui với bạn thôi! bạn cố gắng tìm hiểu các giải pháp sẽ thấy mỗi cách có cái hay riêng. Vì vậy nó mới là đặc thù hay của "GPE".

Chúc bạn và anh em ngày thiệt vui. /-*+//-*+//-*+/

Trong truyện kiếm hiệp của Kim Dung thì Ỷ thiên kiếm là vô địch
Đồ chơi của anh vui quá !
Thank you
 
Trong truyện kiếm hiệp của Kim Dung thì Ỷ thiên kiếm là vô địch
Đồ chơi của anh vui quá !
Thank you
Ậy ậy!

Vậy chứng tỏ em không phải dân luyện chưởng rồi! mỗi một "đồ chơi" xài đúng chỗ thì mới phát huy tối đa công năng của nó đó, khà khà.

Cảm ơn các anh "chị" em đã ủng hộ. }}}}}}}}}}}}}}}
 

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

Back
Top Bottom