a.nguoidensau
Thành viên hoạt động



- Tham gia
- 12/4/12
- Bài viết
- 138
- Được thích
- 28



Chào n0thing1988,Bạn dùng công thức tại N6=LOOKUP(2,1/(N5=$B$5:$M$5),$B$6:$M$6)&"-"&LOOKUP(2,1/(N5=$B$5:$M$5),$B$3:$M$3)
Áp dụng tương tự cho 2 ô màu vàng còn lại
N6=INDEX(B6:M6&"-"&B3:M3,MATCH(N5,B5:M5,0))
N13=OFFSET(A13,,MATCH(N14,B14:M14,0))
N15=INDEX(B15:M15&"-"&B11:M11,MATCH(N14,B14:M14,0))



Chào n0thing1988,
Lâu lắm mới được gầy "độ nhậu" với n0thing1988:
Mã:N6=INDEX(B6:M6&"-"&B3:M3,MATCH(N5,B5:M5,0))Mã:N13=OFFSET(A13,,MATCH(N14,B14:M14,0))Mã:N15=INDEX(B15:M15&"-"&B11:M11,MATCH(N14,B14:M14,0))
Chúc n0thing1988 ngày thiệt vui và năng động![]()



Công thức của bạn vẫn chưa ổn, bạn vui lòng kèm File có công thức để mình tiện xem.Bạn dùng công thức tại N6=LOOKUP(2,1/(N5=$B$5:$M$5),$B$6:$M$6)&"-"&LOOKUP(2,1/(N5=$B$5:$M$5),$B$3:$M$3)
Áp dụng tương tự cho 2 ô màu vàng còn lại
Chào em trai 2!Học được cái ghép index() của anh hay ghê.









Công thức N13 của bác vẫn chưa hoàn toàn đúng,bác vui lòng giúp em cái tháng vào nữa.Chào n0thing1988,
Lâu lắm mới được gầy "độ nhậu" với n0thing1988:
Mã:N6=INDEX(B6:M6&"-"&B3:M3,MATCH(N5,B5:M5,0))Mã:N13=OFFSET(A13,,MATCH(N14,B14:M14,0))Mã:N15=INDEX(B15:M15&"-"&B11:M11,MATCH(N14,B14:M14,0))
Chúc n0thing1988 ngày thiệt vui và năng động![]()
Đáp án trong file của bạn đâu có tháng.Công thức N13 của bác vẫn chưa hoàn toàn đúng,bác vui lòng giúp em cái tháng vào nữa.
N13=INDEX(B13:M13&"-"&B11:M11,MATCH(N14,B14:M14,0))
Chào a.nguoidensau,Công thức N13 của bác vẫn chưa hoàn toàn đúng,bác vui lòng giúp em cái tháng vào nữa.






Chào a.nguoidensau,Cảm ơn các bác đã giúp đỡ, tuy nhiên có 1 vấn đề phát sinh như trong Book3.
Các bác vui lòng nghiên cứu giúp em. Cảm ơn bác rất nhiều
), nên không cần dùng đến Data Table, nhưng phải dùng cột phụ và "name" ghép chuỗi.P1=IFERROR(INDEX($B$6:$M$6&"-"&$B$3:$M$3,LARGE(IF($B$5:$M$5=$N$5,TRANSPOSE(ROW($1:$12))),ROW(1:1))),"")
N6=TRIM(MID(GhepB1,(2*(12-SUMPRODUCT(--($P$1:$P$12<>"")))),100))






Bác vui lòng chuyển công thức P1=IFERROR(....) về IF(ISNA(...)..giúp em.Chào a.nguoidensau,
Do dữ liệu của bạn chỉ so sánh trong khoảng 12 tháng (khỏe!!), nên không cần dùng đến Data Table, nhưng phải dùng cột phụ và "name" ghép chuỗi.
Ba cột phụ, có dạng công thức sau:
Ctrl+Shift+Enter rồi fill xuống thêm 11 dòng, tương tự cho cột Q, và R nhưng thay đổi vùng lấy dữ kiện.Mã:P1=IFERROR(INDEX($B$6:$M$6&"-"&$B$3:$M$3,LARGE(IF($B$5:$M$5=$N$5,TRANSPOSE(ROW($1:$12))),ROW(1:1))),"")
Hiện kết quả từ "name" GhepB1, tương tự cho ô N13 (name: GhepB22), ô N15 (name: GhepB21)Mã:N6=TRIM(MID(GhepB1,(2*(12-SUMPRODUCT(--($P$1:$P$12<>"")))),100))
Bạn tham khảo thêm file đính kèm.
Chúc bạn ngày vui![]()
Chào a.nguoidensau,Bác vui lòng chuyển công thức P1=IFERROR(....) về IF(ISNA(...)..giúp em.
Cảm ơn bác.
:P1=IF(INDIRECT(ADDRESS(5,ROW(1:1)+1))=$N$5,INDIRECT(ADDRESS(6,ROW(1:1)+1))&"-"&INDIRECT(ADDRESS(3,ROW(1:1)+1)),"")
N6=SUBSTITUTE(GhepB1," "," , ")
Hic, Công phu quá!!!Chào a.nguoidensau,
Bạn đã ghi được IF(ISNA(...)) chứng tỏ rằng bạn đã thừa sức để điều chỉnh hàm cho phù hợp với phiên bản Excel cùa bạn rồi! không cần phải hỗ trợ thêm.
Do yếu tố phiên bản excel, nên tôi đưa thêm giải pháp đỡ "đao to búa lớn", tức là không phải dùng công thức mảng như giải pháp trên, cũng không sử dụng IFERROR() mần chi, để bạn khỏi phải phiền lòng:
Các cột phụ:
tương tự các cột Q và RMã:P1=IF(INDIRECT(ADDRESS(5,ROW(1:1)+1))=$N$5,INDIRECT(ADDRESS(6,ROW(1:1)+1))&"-"&INDIRECT(ADDRESS(3,ROW(1:1)+1)),"")
Mã:N6=SUBSTITUTE(GhepB1," "," , ")
Bạn tham khảo file đính kèm.
Chúc bạn ngày vui
,



Anh tính đem Data table ra xử lý, nhưng thấy yêu cầu không phức tạp như bài trước đây nhóm anh em mình từng gặp, nên thôi, chơi nhè nhẹ phù hợp với "vẹc xông" của excel 97-2003 vậy mà em trai!Hic, Công phu quá!!!![]()



Chào anh huuthang_bd,Bật tính năng tham chiếu vòng (Enable iterative calculation) các bạn sẽ thấy điều kỳ diệu.






Vậy thì em phiền các bác kiểm tra giúp em số liệu ở cột O có đúng như trong File không.Anh tính đem Data table ra xử lý, nhưng thấy yêu cầu không phức tạp như bài trước đây nhóm anh em mình từng gặp, nên thôi, chơi nhè nhẹ phù hợp với "vẹc xông" của excel 97-2003 vậy mà em trai!
![]()
Chào anh huuthang_bd,Bật tính năng tham chiếu vòng (Enable iterative calculation) các bạn sẽ thấy điều kỳ diệu.
Thì tôi có nói màChào anh huuthang_bd,
Có một thắc mắc nhờ anh giải đáp hộ:
Tại sao A1=MOD(A1,100)+1 không bị lỗi Circular Reference?
Do đâu mà nó được "ưu ái" quá vậy?
Chúc anh ngày vui.
Excel cho phép tham chiếu vòng nếu tính tùy chọn này được kích hoạt.Bật tính năng tham chiếu vòng (Enable iterative calculation) các bạn sẽ thấy điều kỳ diệu.
trong trường hợp nầy, hửu hiệu nhất là chịu khó nhập công thức dài một chút, nhưng chắc ăn và khỏi nhức đầuVậy thì em phiền các bác kiểm tra giúp em số liệu ở cột O có đúng như trong File không.
Cảm ơn các bác
O5 =SUBSTITUTE(CONCATENATE(IF(C6=O6,", "&C5,""),IF(D6=O6,", "&D5,""),IF(E6=O6,", "&E5,""),IF(F6=O6,", "&F5,""),IF(G6=O6,", "&G5,""),IF(H6=O6,", "&H5,""),IF(I6=O6,", "&I5,""),IF(J6=O6,", "&J5,""),IF(K6=O6,", "&K5,""),IF(L6=O6,", "&L5,""),IF(M6=O6,", "&M5,""),IF(N6=O6,", "&N5,"")),", ","",1)
O6 =MAX(C6:N6)
O7 =SUBSTITUTE(CONCATENATE(IF(C6=O6,", "&C7&"-"&$C$3,""),IF(D6=O6,", "&D7&"-"&$D$3,""),IF(E6=O6,", "&E7&"-"&$E$3,""),IF(F6=O6,", "&F7&"-"&$F$3,""),IF(G6=O6,", "&G7&"-"&$G$3,""),IF(H6=O6,", "&H7&"-"&$H$3,""),IF(I6=O6,", "&I7&"-"&$I$3,""),IF(J6=O6,", "&J7&"-"&$J$3,""),IF(K6=O6,", "&K7&"-"&$K$3,""),IF(L6=O6,", "&L7&"-"&$L$3,""),IF(M6=O6,", "&M7&"-"&$M$3,""),IF(N6=O6,", "&N7&"-"&$N$3,"")),", ","",1)
Chào a.nguoidensau,Vậy thì em phiền các bác kiểm tra giúp em số liệu ở cột O có đúng như trong File không.
Cảm ơn các bác

Chào anhhuuthang_bd,Thì tôi có nói mà
Excel cho phép tham chiếu vòng nếu tính tùy chọn này được kích hoạt.
Chào HieuCD,trong trường hợp nầy, hửu hiệu nhất là chịu khó nhập công thức dài một chút, nhưng chắc ăn và khỏi nhức đầu
copy 3 ô và dán cho các ô còn lạiMã:O5 =SUBSTITUTE(CONCATENATE(IF(C6=O6,", "&C5,""),IF(D6=O6,", "&D5,""),IF(E6=O6,", "&E5,""),IF(F6=O6,", "&F5,""),IF(G6=O6,", "&G5,""),IF(H6=O6,", "&H5,""),IF(I6=O6,", "&I5,""),IF(J6=O6,", "&J5,""),IF(K6=O6,", "&K5,""),IF(L6=O6,", "&L5,""),IF(M6=O6,", "&M5,""),IF(N6=O6,", "&N5,"")),", ","",1) O6 =MAX(C6:N6) O7 =SUBSTITUTE(CONCATENATE(IF(C6=O6,", "&C7&"-"&$C$3,""),IF(D6=O6,", "&D7&"-"&$D$3,""),IF(E6=O6,", "&E7&"-"&$E$3,""),IF(F6=O6,", "&F7&"-"&$F$3,""),IF(G6=O6,", "&G7&"-"&$G$3,""),IF(H6=O6,", "&H7&"-"&$H$3,""),IF(I6=O6,", "&I7&"-"&$I$3,""),IF(J6=O6,", "&J7&"-"&$J$3,""),IF(K6=O6,", "&K7&"-"&$K$3,""),IF(L6=O6,", "&L7&"-"&$L$3,""),IF(M6=O6,", "&M7&"-"&$M$3,""),IF(N6=O6,", "&N7&"-"&$N$3,"")),", ","",1)






Cái đó làm chơi để nghiên cứu thôi chứ cũng không nên áp dụng. Chủ topic nên tìm hàm JoinTextIf để sử dụng.Chào anhhuuthang_bd,
Vẫn chưa hiểu thông!![]()
Không sao! để nghiên cứu kỹ kỹ chút, nếu còn điều chi chưa sáng tỏ, sẽ lại nhờ anh giúp hướng dẫn thêm.
Cảm ơn anh,