Tìm giao nhau giữa hàng và cột

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,907
Được thích
8,584
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
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.
Góp ý cho bạn:
1/ Bạn nên đưa File có tiêu đề đầy đủ và dữ liệu giả định giống với thực tế.
2/ Theo tôi thì nên có sheet Danh mục và dùng sheet này để tra thì sẽ dễ dàng hơn.
3/ Hoặc đưa ra quy trình và nêu cái cần làm. Có thể các thành viên sẽ có giải pháp khác tốt hơn là chạy theo ý tưởng của bạn.
 

dazkangel

<New Horizons>
Tham gia ngày
28 Tháng hai 2017
Bài viết
2,754
Được thích
3,463
Điểm
360
Nơi ở
Đồng Nai
Thử:
Mã:
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"),),"")
Thân
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)),"")
 
Lần chỉnh sửa cuối:

Ba Tê

Cạo Rồi Khỏi Gội
Tham gia ngày
5 Tháng năm 2009
Bài viết
11,355
Được thích
16,180
Điểm
1,860
Tuổi
61
Nơi ở
An Giang
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ó lẽ theo bạn bài này nữa là hoa mắt rồi.
 

File đính kèm

Mộng Thường 2001

Thành viên tiêu biểu
Tham gia ngày
28 Tháng mười một 2017
Bài viết
616
Được thích
1,626
Điểm
360
Tuổi
18
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)),"")
Cũng còn dài hơn cái này:
Mã:
=IFERROR(INDEX(E4:M13,MAX(INDEX(("d2"=B4:D13)*ROW(1:10),)),MAX(INDEX((E2:M3=12)*COLUMN($A:$I),))),"")
Nhưng mà chủ thớt "khoái" VBA rồi em ơi! làm bằng thừa.
/-*+//-*+//-*+/
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à.
 

dazkangel

<New Horizons>
Tham gia ngày
28 Tháng hai 2017
Bài viết
2,754
Được thích
3,463
Điểm
360
Nơi ở
Đồng Nai
Cũng còn dài hơn cái này:
Mã:
=IFERROR(INDEX(E4:M13,MAX(INDEX(("d2"=B4:D13)*ROW(1:10),)),MAX(INDEX((E2:M3=12)*COLUMN($A:$I),))),"")
Nhưng mà chủ thớt "khoái" VBA rồi em ơi! làm bằng thừa.
/-*+//-*+//-*+/
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à.
Vâng thế thì chịu :D
 

dat21288

Thành viên mới
Tham gia ngày
20 Tháng chín 2010
Bài viết
10
Được thích
4
Điểm
365
Nơi ở
Da Lat
Cũng còn dài hơn cái này:
Mã:
=IFERROR(INDEX(E4:M13,MAX(INDEX(("d2"=B4:D13)*ROW(1:10),)),MAX(INDEX((E2:M3=12)*COLUMN($A:$I),))),"")
Nhưng mà chủ thớt "khoái" VBA rồi em ơi! làm bằng thừa.
/-*+//-*+//-*+/
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 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!
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,758
Được thích
7,923
Điểm
360
Nơi ở
Sài Gòn
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!
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.
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,907
Được thích
8,584
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
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.
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.

Quá trình học của tôi là thế này (nêu lên để các em trẻ phấn đấu):
1/ Năm 2005 (lúc này đã U50), tôi chẳng biết gõ bàn phím là gì. Tất cả mọi thứ liên quan đến máy tính tôi chỉ nêu vấn đề cần làm rồi bắt mấy đứa nhân viên hợp đồng làm tất, tôi chỉ đọc lại và nói mấy em sửa lại theo ý.
Lúc đó, cơ quan kiểm điểm quá nên tôi bắt đầu mò học Word, Excel từ máy cơ quan, có hôm học đến 9 - 10 giờ đêm mới về. Không học cơ quan cũng kiểm điểm, mà học quá mức cũng bị kiểm điểm.
2/ Vì những lẽ trên, năm 2007 tôi mua máy tính tự học tại nhà (nên tôi chẳng có bằng A, B ...gì cả). Đến năm 2011 bắt đầu tham gia diễn đàn, được 1 tháng thì bị khóa Nick, lý do: Mới tham gia nên đăng bài lung tung không đúng Box đôi khi cùng chủ đề tìm bài cũ không thấy (lúc đó chưa biết đọc lại bài cũ) nên mở lại nhiều Topic.
3/ Đến năm 2012, tôi mới vào lại diễn đàn và tham gia liên tục cho đến nay.
4/ Từ khi tham gia diễn đàn tôi càng tiến bộ là do đọc nhiều bài viết, xem cách các thành viên giải đáp, đồng thời tải File về ngâm cứu, và tìm lời giải riêng cho mình.

Tóm lại:
Mấy em 30 - 40 thì chưa gọi là già, là lớn đâu.
Có chịu khó thì từ chỗ chưa biết sẽ khá lên và từ từ sẽ giỏi, có cố gắng thì ắt sẽ thành công.
 
Lần chỉnh sửa cuối:

dat21288

Thành viên mới
Tham gia ngày
20 Tháng chín 2010
Bài viết
10
Được thích
4
Điểm
365
Nơi ở
Da Lat
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.
Công thức các bác ở đây đưa ra có nhiều hàm e chưa hiểu. Nhưng đọc thì e thấy các bác xử lý rất gọn, logic. Chứng tỏ hiểu sâu hơn e rất nhiều. E cũng rất hướng tiến bộ nên cũng đang nghiên cứu lại công thức của các bác chỉ giáo ở trên. E cũng nghiên cứu cả VBA mặc dù chưa học bao giờ.
E rất cảm ơn mọi người rất nhiệt tình giúp đỡ. E cũng muốn đưa luôn file cho các bác giải 1 lần cho nhanh. Nhưng do đặc thù công việc, không thể lộ file được. File gốc phức tạp hơn khoảng 1,5 - 2 lần. E xem rút gọn up lên và về lại sửa lại để áp dụng.
Có thể e bị ảnh hưởng bởi công việc, áp lực hoặc nguyên nhân khách quan nên ngày càng "ngu đi". Chắc e bị stress
Kết luận: e viết comment trên vì xem có ai dùng công thức thủ công cơ bản khác mà làm ra đáp án, có thể công thức dài hơn, sử dụng các hàm e nêu trên, e chỉ nhớ lại được vậy... Giúp e gợi nhớ lại công thức ngày trước. Ngoài các công thức, VBA các bác giúp đỡ đã ra kết quả chính xác
E xin chân thành cảm ơn!
 
Top Bottom