Giả sử chữ d2 nằm ở ô I16, số 12 nằm ở ô J16, bạn dùng tạm công thức này nhé:Nhờ mọi người giúp mình làm sao để tìm giá trị giao nhau, khi biết giá trị tìm kiếm
Phải làm sao khi bảng dò tìm gồm nhiều ô, không phải cột đầu tiên hay dòng đầu tiên. như file đính kèm.


Giả sử chữ d2 nằm ở ô I16, số 12 nằm ở ô J16, bạn dùng tạm công thức này nhé:
=INDEX($E$4:$M$13,SUM(IFERROR(MATCH(I16,$B$4:$B$13,0),0),IFERROR(MATCH(I16,$C$4:$C$13,0),0),IFERROR(MATCH(I16,$D$4:$D$13,0),0)),SUM(IFERROR(MATCH(J16,$E$2:$M$2,0),0),IFERROR(MATCH(J16,$E$3:$M$3,0),0)))
Thế thì có lẽ phải thêm một hàm IFERROR ngoài cùng nữa nhỉtrường hợp, một trong 2 điều kiện bỏ trống (I16 hoặc J16 trống) thì ko còn đúng nữa bác ah![]()
Bài này mà dùng VBA thì xoẹt cái là xong!Nhờ mọi người giúp mình làm sao để tìm giá trị giao nhau, khi biết giá trị tìm kiếm
Phải làm sao khi bảng dò tìm gồm nhiều ô, không phải cột đầu tiên hay dòng đầu tiên. như file đính kèm.
Góp vui thêm hai cách bằng công thức Mảng:Nhờ mọi người giúp mình làm sao để tìm giá trị giao nhau, khi biết giá trị tìm kiếm
Phải làm sao khi bảng dò tìm gồm nhiều ô, không phải cột đầu tiên hay dòng đầu tiên. như file đính kèm.
=IFERROR(INDEX(E4:M13,MATCH(1,INDEX(COUNTIF(OFFSET(B3:D3,ROW(1:10),),G16),),),MATCH(1,INDEX(COUNTIF(OFFSET(D2:D3,,ROW(1:9)),H16),),)),"")
Hoặc:
=IFERROR(INDIRECT(TEXT(INDEX(MAX((B4:D13=G16)*ROW(B4:B13)*10^3)+MAX((E2:M3=H16)*COLUMN(E2:M2)),),"R000C000"),),"")
Cũng muốn "xoẹt cái" nhưng không xong. Phải "xoẹt" nhiều cái hơi bị "đau".Bài này mà dùng VBA thì xoẹt cái là xong!
Em thì làm khác: Dùng Find Method. Em viết 2 hàm:Cũng muốn "xoẹt cái" nhưng không xong. Phải "xoẹt" nhiều cái hơi bị "đau".
Function FindRow(ByVal FindValue, ByVal FindRange As Range, Optional ByVal MatchCase As Boolean = False)
Dim rngFind As Range
FindRow = CVErr(xlErrNA)
Set rngFind = FindRange.Find(FindValue, , xlValues, xlWhole, , , MatchCase)
If Not rngFind Is Nothing Then FindRow = rngFind.Row
End Function
Function FindCol(ByVal FindValue, ByVal FindRange As Range, Optional ByVal MatchCase As Boolean = False)
Dim rngFind As Range
FindCol = CVErr(xlErrNA)
Set rngFind = FindRange.Find(FindValue, , xlValues, xlWhole, , , MatchCase)
If Not rngFind Is Nothing Then FindCol = rngFind.Column
End Function
=INDEX(A1:M13,FindRow(I16,B4:D13),FindCol(J16,E2:M3))
Bạn tham khảo.Nhờ mọi người giúp mình làm sao để tìm giá trị giao nhau, khi biết giá trị tìm kiếm
Phải làm sao khi bảng dò tìm gồm nhiều ô, không phải cột đầu tiên hay dòng đầu tiên. như file đính kèm.
Đọc code của ndu96081631 mới thấy mình phải thêm cái "Option Compare Text".Em thì làm khác: Dùng Find Method. Em viết 2 hàm:
Làm "quái gì được"!e cảm ơn các anh trong diễn đàn rất nhiều. đúng là gặp toàn cao thủ.
Nếu thêm điều kiện ví dụ: nếu giá trị ở cột 1 thì đối chiếu tìm giá trị trong hàng 1 tương ứng thì phải làm sao ạ.
Mong các anh chỉ giáo.
Thử:e cảm ơn các anh trong diễn đàn rất nhiều. đúng là gặp toàn cao thủ.
Nếu thêm điều kiện ví dụ: nếu giá trị ở cột 1 thì đối chiếu tìm giá trị trong hàng 1 tương ứng thì phải làm sao ạ.
Mong các anh chỉ giáo.
I16=IFERROR(INDIRECT(TEXT(INDEX(MAX((B4:D13=G16)*ROW(B4:B13)*10^3)+MATCH(H16,INDEX(OFFSET($A$1:$M$1,INDEX(MAX((B4:D13=G16)*COLUMN($A:$C)),)-1,),),),),"R000C000"),),"")
Ủa! rồi mờ!!?điều kiện phức tạp quá ạ. các bác xem chỉ giáo giúp e. e xin chân thành cảm ơn!!
Lúc tôi viết bài #12 thì không thấy file.không phải, e mới gửi lại file khác có 3 hàng 3 cột tương ứng. điều kiện phức tạp quá ạ. các bác xem chỉ giáo giúp e. e xin chân thành cảm ơn!!
Thanks bác!Ủa! rồi mờ!!?
Hay quá. Cảm ơn bác nhiều!Lúc tôi viết bài #12 thì không thấy file.
Nếu là tôi, trong trường hợp bài toán trở nên quá phức tạp thì tôi sẽ xem lại cách bố trí dữ liệu chứ không cố làm ra kết quả bằng mọi cáchđiều kiện phức tạp quá
Nếu là tôi, trong trường hợp bài toán trở nên quá phức tạp thì tôi sẽ xem lại cách bố trí dữ liệu chứ không cố làm ra kết quả bằng mọi cách...
Tôi nói vậy là vì bắt đầu cảm thấy dữ liệu của bạn nó... dị dị rồi đấy
Góp ý cho bạn:Lúc đầu e tính chỉ làm bằng công thức thủ công. nhưng sau khi tham khảo file của bác Ba tê gạo cội e thấy thích cách giải quyết bằng VBA quá, mặc dù chưa học VBA nhưng đọc vô cũng hiểu phần nào. Nếu được bác xử lý công thức còn lại bằng VBA giúp e với. e xin cảm ơn.
Vầy có được không nhỉ:Thử:
ThânMã:I16=IFERROR(INDIRECT(TEXT(INDEX(MAX((B4:D13=G16)*ROW(B4:B13)*10^3)+MATCH(H16,INDEX(OFFSET($A$1:$M$1,INDEX(MAX((B4:D13=G16)*COLUMN($A:$C)),)-1,),),),),"R000C000"),),"")
=IFERROR(INDEX(E4:M13,AGGREGATE(14,6,ROW(A1:A10)/(B4:D13="d2"),1),AGGREGATE(14,6,COLUMN(A1:I1)/(E2:M3=12),1)),"")
Có lẽ theo bạn bài này nữa là hoa mắt rồi.Lúc đầu e tính chỉ làm bằng công thức thủ công. nhưng sau khi tham khảo file của bác Ba tê gạo cội e thấy thích cách giải quyết bằng VBA quá, mặc dù chưa học VBA nhưng đọc vô cũng hiểu phần nào. Nếu được bác xử lý công thức còn lại bằng VBA giúp e với. e xin cảm ơn.
cảm ơn bác rất nhiều. e nhìn vô thấy hoa mắt thật. không biết có đọc hiểu được code của bác ko nữaCó lẽ theo bạn bài này nữa là hoa mắt rồi.

Cũng còn dài hơn cái này:Vầy có được không nhỉ:
Mã:=IFERROR(INDEX(E4:M13,AGGREGATE(14,6,ROW(A1:A10)/(B4:D13="d2"),1),AGGREGATE(14,6,COLUMN(A1:I1)/(E2:M3=12),1)),"")
=IFERROR(INDEX(E4:M13,MAX(INDEX(("d2"=B4:D13)*ROW(1:10),)),MAX(INDEX((E2:M3=12)*COLUMN($A:$I),))),"")



Vâng thế thì chịuCũng còn dài hơn cái này:
Nhưng mà chủ thớt "khoái" VBA rồi em ơi! làm bằng thừa.Mã:=IFERROR(INDEX(E4:M13,MAX(INDEX(("d2"=B4:D13)*ROW(1:10),)),MAX(INDEX((E2:M3=12)*COLUMN($A:$I),))),"")
Chúc em ngày vui.
ps: không biết sao, sau khi trả lời cho anh @yeudoi bên bài: https://www.giaiphapexcel.com/diendan/threads/tìm-tổng-chuỗi-con-trong-chuỗi-lớn.136754/page-3#post-874319, tự dưng @Phan Thế Hiệp "bị ngọng" luôn, vì không còn hiện ba nút phía dưới: "Báo cáo", "Thích" và "Trả lời". Chỉ có thể xem mà không "mần ăn" gì được, đành phải sai "đứa nhỏ" lại ra.
Khà khà khà.
Cũng không hẳn là e không thích công thức thủ công. Nhưng e vẫn thắc mắc điều này:Cũng còn dài hơn cái này:
Nhưng mà chủ thớt "khoái" VBA rồi em ơi! làm bằng thừa.Mã:=IFERROR(INDEX(E4:M13,MAX(INDEX(("d2"=B4:D13)*ROW(1:10),)),MAX(INDEX((E2:M3=12)*COLUMN($A:$I),))),"")
Chúc em ngày vui.
ps: không biết sao, sau khi trả lời cho anh @yeudoi bên bài: https://www.giaiphapexcel.com/diendan/threads/tìm-tổng-chuỗi-con-trong-chuỗi-lớn.136754/page-3#post-874319, tự dưng @Phan Thế Hiệp "bị ngọng" luôn, vì không còn hiện ba nút phía dưới: "Báo cáo", "Thích" và "Trả lời". Chỉ có thể xem mà không "mần ăn" gì được, đành phải sai "đứa nhỏ" lại ra.
Khà khà khà.
Tôi thì nhận định ngược với bạn, vì bằng chứng trên diễn đàn GPE này thì "gừng càng già càng cay", đa số những anh em mà thành viên khác gọi là "thầy" toàn trên 58-60 tuổi, thậm chí có bậc trưởng thượng lên hàng >70 tuổi, những vị này có những bài viết vừa rộng vừa thâm sâu để đời cho thành viên khác học tập. Tôi thì bước qua hàng 5 vài ba năm, nên còn phải lượm mót các vị ấy nhiều lắm.Cũng không hẳn là e không thích công thức thủ công. Nhưng e vẫn thắc mắc điều này:
Cũng bài excel y như này (tìm đối chiếu tận 5 dòng x 5 cột). cách đây khoảng 6 năm về trước. Với hàm cơ bản như IF, Vlookup, Hlookup, and, or, match, index... nói chung là hàm cơ bản học từ Tin A, trên excel 2003, e lập công thức và ra chính xác kết quả. Tuy công thức hơi dài tí, rơi tầm 3 dòng. Nhưng bây giờ không thể tập trung nghĩ, nhớ và làm lại được. Chắc càng lớn càng ngu đi. Bác nào giải đáp giúp e!
Mấy em trẻ trẻ bây giờ lười quá không chịu học nghiên cứu sâu Mới ba mấy, bốn mươi mà gọi là lớn và cho mình càng lớn càng ngu. đã vậy vào diễn đàn hỏi chẳng có đầu, có đuôi đôi khi đưa File mà cũng chẳng có tiêu đề, dữ liệu tgiả định thì rối rắm, không giống với File thực tế đang sử dụng nên gây rất nhiều khó khăn cho người trợ giúp (vì khi đọc có hiểu, có biết mới giúp được), còn đọc mà không hiểu thì chào thua.Tôi thì nhận định ngược với bạn, vì bằng chứng trên diễn đàn GPE này thì "gừng càng già càng cay", đa số những anh em mà thành viên khác gọi là "thầy" toàn trên 58-60 tuổi, thậm chí có bậc trưởng thượng lên hàng >70 tuổi, những vị này có những bài viết vừa rộng vừa thâm sâu để đời cho thành viên khác học tập. Tôi thì bước qua hàng 5 vài ba năm, nên còn phải lượm mót các vị ấy nhiều lắm.
Suy ra rằng, học tập và rèn luyện không có hạn định tuổi tác, chỉ có phân biệt giữa người chịu khó bỏ công nỗ lực tìm tòi hay người chỉ biết 1 là 1 mà không chịu cầu tiến thôi, bạn à!
Thân.
Xin lỗi các bác vì e viết gây hiểu nhầm. Ý e chỉ nói bản thân e. Ngày trước e làm được (làm theo ct của e) sau bao lâu ko đụng đến giờ không làm được nên e cảm thấy khó chịu với chính bản thân.Tôi thì nhận định ngược với bạn, vì bằng chứng trên diễn đàn GPE này thì "gừng càng già càng cay", đa số những anh em mà thành viên khác gọi là "thầy" toàn trên 58-60 tuổi, thậm chí có bậc trưởng thượng lên hàng >70 tuổi, những vị này có những bài viết vừa rộng vừa thâm sâu để đời cho thành viên khác học tập. Tôi thì bước qua hàng 5 vài ba năm, nên còn phải lượm mót các vị ấy nhiều lắm.
Suy ra rằng, học tập và rèn luyện không có hạn định tuổi tác, chỉ có phân biệt giữa người chịu khó bỏ công nỗ lực tìm tòi hay người chỉ biết 1 là 1 mà không chịu cầu tiến thôi, bạn à!
Thân.