Nhờ trợ giúp so sánh và trích lọc dữ liệu (6 người xem)

  • Thread starter Thread starter tv_X
  • Ngày gửi Ngày gửi
Liên hệ QC

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

tv_X

Thành viên mới
Tham gia
1/11/07
Bài viết
21
Được thích
0
Mình có dữ liệu như sau:

MA1--------------MA2----------MA3------------MA4
LA04.00460 LA93.0165.1 LA04.00068
LA04.03816 LA93.0164.1 LA04.00116
LA04.00125 LA91.0308.1 LA04.00122
LA04.00068 LA93.0161.1 LA04.00125
LA04.03810 LA93.0159.1 LA04.00142
LA04.00148 LA93.0160.1 LA04.00148
LA04.03809 LA93.0464.1 LA04.00150
LA04.00459 LA93.0158.1 LA04.00222
LA04.00275 LA93.0157.1 LA04.00275
LA04.03806 LA93.0156.1 LA04.00278
LA04.00388 LA93.0154.1 LA04.00334
LA04.00426 LA93.0152.1 LA04.00363
LA04.00125 LA93.0151.1 LA04.00388
LA04.03800 LA93.0150.1 LA04.00426
LA04.00460 LA93.0149.1 LA04.00427
LA04.03798 LA93.0148.1 LA04.00450
LA04.00150 LA93.0147.1 LA04.00459
LA04.03793 LA93.0145.1 LA04.00460


Mình cần thực hiện:
- So sánh MA3 và MA1, nếu MA3 trùng với MA1 thì lấy MA1'&'MA2 (MA1 nối với MA2 được phân cách bằng ký hiệu bất kỳ) ghi ra cột MA4, những kết quả khác của cột MA3 và MA1 không trùng thì loại bỏ hoặc có thể đẩy sang cột MA5
Ví dụ kết quả cần thực hiện: LA04.00086+LA93.0165.1

Mong các bạn trợ giúp

Cảm ơn nhiều


-t0m
 

File đính kèm

Lần chỉnh sửa cuối:
Giải pháp excel

Xem thử file không biết có đúng ý bạn không
 

File đính kèm

Bạn dùng công thức này cho ô D2 xem có đúng ý không.
Mã:
=IF(A2=C2,A2&"+"&B2,"")
 
Xem thử file không biết có đúng ý bạn không

Cảm ơn thanhsangnguyen1982, huuthang_bd đã trả lời sớm

Tuy nhiên ở file excel và nội dung trước mình gửi chưa đúng với yêu cầu của mình, và mình đã sửa lại câu hỏi (nhưng file đính kèm thì không thay thế được, không biết có cách nào không?).

Ở phần yêu cầu đã được điều chỉnh lại, dữ liệu so sánh là không cùng dòng mà phải quét tất cả để nhận ra sự trùng lặp giữa MA3 và MA1, riêng việc cộng với MA1&MA2 mới có sự ngang hàng về dòng mà thôi.


Mong các bạn tiếp tục giúp mình

Cảm ơnn nhiều

-t0m
 
Giải pháp excel

Xem thử fiel có ok không bạn
Nếu có sự ngang hàng về dòng ở kết quả nối của M1 và M2 thì bạn chép công thức này vào ô D2 sau đó kéo xuống là ok
=IF(ISERROR(VLOOKUP(A2,$C$2:$C$19,1,0)),"",VLOOKUP(A2,$A$2:$A$19,1,0)&"+"&$B$2:$B$19)
 

File đính kèm

Lần chỉnh sửa cuối:
Xem thử fiel có ok không bạn
Nếu có sự ngang hàng về dòng ở kết quả nối của M1 và M2 thì bạn chép công thức này vào ô D2 sau đó kéo xuống là ok
Mã:
=IF(ISERROR(VLOOKUP(A2,$C$2:$C$19,1,0)),"",VLOOKUP(A2,$A$2:$A$19,1,0)&"+"&$B$2:$B$19)
Tôi thấy trong file bạn sửa công thức thành:
Mã:
=IF(ISERROR(VLOOKUP(A2,$C$2:$C$19,1,0)),"",VLOOKUP(A2,$C$2:$C$19,1,0)&"+"&INDEX($B$2:$B$19,MATCH(VLOOKUP(A2,$C$2:$C$19,1,0),$C$2:$C$19,0),))
Nếu công thức của bạn đúng ý tác giả thì tôi sẽ rút gọn thành
Mã:
=IF(COUNTIF($C$2:$C$19,A2),A2&"+"&LOOKUP(2,1/($C$2:$C$19=A2),$B$2:$B$19),"")
 
Xem thử fiel có ok không bạn
Nếu có sự ngang hàng về dòng ở kết quả nối của M1 và M2 thì bạn chép công thức này vào ô D2 sau đó kéo xuống là ok
=IF(ISERROR(VLOOKUP(A2,$C$2:$C$19,1,0)),"",VLOOKUP(A2,$A$2:$A$19,1,0)&"+"&$B$2:$B$19)

Cảm ơn thanhsangnguyen1982, có vẻ đã đúng với kết quả mình muốn, tuy nhiên mong bạn chỉnh giúp thêm kết quả trả về là MA1+MA2 chứ không phải MA3+MA2

Ví dụ:

LA04.00460 có ở MA3 (lấy MA3 là gốc để so sánh) và MA1, thì kết quả cần xuất ra là LA04.00460+LA93.0165.1 (trong đó LA93.0165.1 thuoc MA2).

Mong nhận được thêm sự trợ giúp của các bạn

Cảm ơn nhiều.

-t0m
 
Nếu công thức của bạn đúng ý tác giả thì tôi sẽ rút gọn thành
Code:

=IF(COUNTIF($C$2:$C$19,A2),A2&"+"&LOOKUP(2,1/($C$2:$C$19=A2),$B$2:$B$19),"")



Vâng, anh ơi chỉ cần chỉnh giúp em kết quả là MA1+MA2 là hoàn thành (hiện tại kết quả ra là MA3+MA2 - hơi ngược với kết quả em mong muốn)


Cảm ơn anh

-t0m
 
Tôi thấy trong file bạn sửa công thức thành:
Mã:
=IF(ISERROR(VLOOKUP(A2,$C$2:$C$19,1,0)),"",VLOOKUP(A2,$C$2:$C$19,1,0)&"+"&INDEX($B$2:$B$19,MATCH(VLOOKUP(A2,$C$2:$C$19,1,0),$C$2:$C$19,0),))
Nếu công thức của bạn đúng ý tác giả thì tôi sẽ rút gọn thành
Mã:
=IF(COUNTIF($C$2:$C$19,A2),A2&"+"&LOOKUP(2,1/($C$2:$C$19=A2),$B$2:$B$19),"")
hình như phải là thế này chứ anh
=IF(COUNTIF($A$2:$A$19,$C2)>0,$A2&"+"&$B2,"")
 
Tôi thấy trong file bạn sửa công thức thành:
Mã:
=IF(ISERROR(VLOOKUP(A2,$C$2:$C$19,1,0)),"",VLOOKUP(A2,$C$2:$C$19,1,0)&"+"&INDEX($B$2:$B$19,MATCH(VLOOKUP(A2,$C$2:$C$19,1,0),$C$2:$C$19,0),))
Nếu công thức của bạn đúng ý tác giả thì tôi sẽ rút gọn thành
Mã:
=IF(COUNTIF($C$2:$C$19,A2),A2&"+"&LOOKUP(2,1/($C$2:$C$19=A2),$B$2:$B$19),"")



Cảm ơn anh cùng các bạn, vấn đề của mình đã giải quyết được, theo anh ndu96081631 hướng dẫn mình chỉ cần điều chỉnh theo yêu cầu như thế này là đúng:

=IF(COUNTIF($C$2:$C$19,A2),A2&"+"&LOOKUP(2,1/($A$2:$A$19=A2),$B$2:$B$19),"")

Cảm ơn và chúc mọi người luôn khỏe và hạnh phúc


-t0m
 
Bạn copy công thức này vào ô D2 sau đó kéo xuống là ok =IF(ISERROR(VLOOKUP(A2,$C$2:$C$19,1,0)),"",VLOOKUP (A2,$A$2:$A$19,1,0)&"+"&$B$2:$B$19)
 
Mình đã nhầm không đúng với yêu cầu của mình nhé
Dù sao cũng cảm ơn bạn Lê Duy Thương
Công thức của bạn Lê Duy Thương cũng đúng yêu cầu của bạn, nhưng cần chỉnh một tí như sau:

Ô D2=IF(COUNTIF($C$2:$C$19,$A2)>0,$A2&"+"&$B2,"")

Bạn thử xem
 
Mình đã nhầm không đúng với yêu cầu của mình nhé
Dù sao cũng cảm ơn bạn Lê Duy Thương
Công thức của bạn Lê Duy Thương cũng đúng yêu cầu của bạn, nhưng cần chỉnh một tí như sau:

Ô D2=IF(COUNTIF($C$2:$C$19,$A2)>0,$A2&"+"&$B2,"")

Bạn thử xem
PHP:
Ô D2=IF(COUNTIF($C$2:$C$19,$A2)>0,$A2&"+"&$B2,"")
Chưa xem file nhưng công thức này có thể ngắn hơn như vầy:
PHP:
Ô D2=IF(COUNTIF($C$2:$C$19,$A2),$A2&"+"&$B2,"")
 
PHP:
Ô D2=IF(COUNTIF($C$2:$C$19,$A2)>0,$A2&"+"&$B2,"")
Chưa xem file nhưng công thức này có thể ngắn hơn như vầy:
PHP:
Ô D2=IF(COUNTIF($C$2:$C$19,$A2),$A2&"+"&$B2,"")


Xác nhận, cả 2 công thức của bạn thanhsangnguyen1982 & bạn Ba Tê đều chính xác và đúng với yêu cầu công việc của mình

Rất thú vị, cảm ơn các bạn đã trợ giúp


-t0m
 
Web KT

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

Back
Top Bottom