Làm sao để lọc có điều kiện và sắp xếp theo ý mình muốn (2 người xem)

Liên hệ QC

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

loading860

Thành viên mới
Tham gia
22/3/13
Bài viết
12
Được thích
0
Em gặp vấn đề về lấy TK và MK như trong hình , bro giái giúp em với )(&&@@)(&&@@
TK sẽ đi liền với MK , vì có những cái bị thiếu thì không nhận , nếu TK típ theo TK không có MK thì ko lấy , MK cũng thế , nhìn hình sẽ hiểu
Vfc.png

Em cám ơn nhìu lắm , làm ơn đừng xóa và giúp em giải câu này với:;;;:::
__--__
 
Em gặp vấn đề về lấy TK và MK như trong hình , bro giái giúp em với )(&&@@)(&&@@
TK sẽ đi liền với MK , vì có những cái bị thiếu thì không nhận , nếu TK típ theo TK không có MK thì ko lấy , MK cũng thế , nhìn hình sẽ hiểu
Vfc.png

Em cám ơn nhìu lắm , làm ơn đừng xóa và giúp em giải câu này với:;;;:::
__--__

Theo tôi nghĩ bài này sẽ không bị xoá, nhưng với 3 bài (sai) kia thì có cái file còn bài đúng này thì hổng có cái file nào hết. Đưa file lên cho dễ nhé bạn. Thân
 
Dạ rồi , em thiếu cái file

Theo kiến thức sơ đẳng của mình thì làm thủ công một chút luôn vậy. Bạn dùng Advance Filter theo dưới này cho dữ liệu "TK" và copy vào cột B nhé.

gpe_filter.JPG

Đối với dữ liệu "MK" thì bạn đổi vùng điều kiện từ $B$1:$B$2 thành $C$1:$C$2 rồi cũng copy ra nhé...
 

File đính kèm

Dạ cám ơn anh Bảy Dzõ , mình lấy đc dữ liệu TK còn MK thì em không lấy đc anh à , đổi vùng điều kiện từ $B$1:$B$2 thành $C$1:$C$2 bên cột A nó vẫn hiện TK , thêm 1 cái nữa là vì có những cái có TK nhưng không có dữ liệu MK ( hoặc ngược lại ) , vì vậy khi copy ra nói sẽ bị sai lệch , có cách nào giái quyết không ta
:sorry:
 
Dạ cám ơn anh Bảy Dzõ , mình lấy đc dữ liệu TK còn MK thì em không lấy đc anh à , đổi vùng điều kiện từ $B$1:$B$2 thành $C$1:$C$2 bên cột A nó vẫn hiện TK , thêm 1 cái nữa là vì có những cái có TK nhưng không có dữ liệu MK ( hoặc ngược lại ) , vì vậy khi copy ra nói sẽ bị sai lệch , có cách nào giái quyết không ta
:sorry:

Xin lỗi mình bị lỗi ở ô C2, bạn thay công thức ở C2 bằng: =LEFT(A3,2)="MK" nhé thì sẽ ok. Mình cũng đang cố gắng học để tìm ra cách đó cho bạn (vì kiến thức mình thuộc chập chững thôi)... Thân
 
Ngồi mò nãy giờ mà vẫn không đc , ví dụ em đặt ngay B3=IF(LEFT(A4,2)="MK",MID(A3,5,30),"") còn C3=IF(LEFT(A3,2)="TK",MID(A4,5,40)) , nó cũng ra nhưng mà làm sao cho nó chạy đều vậy xuống dưới , gõ nhìu cái cho nó hiểu mà vẫn không đc mà sao , xem thử dùm em
 

File đính kèm

Mong thầy cô và các bạn trên GPE giúp em bài này với, hoặc trao đổi để giúp em tìm ra cách giải được không ạ !
 
Lần chỉnh sửa cuối:
Ngồi mò nãy giờ mà vẫn không đc , ví dụ em đặt ngay B3=IF(LEFT(A4,2)="MK",MID(A3,5,30),"") còn C3=IF(LEFT(A3,2)="TK",MID(A4,5,40)) , nó cũng ra nhưng mà làm sao cho nó chạy đều vậy xuống dưới , gõ nhìu cái cho nó hiểu mà vẫn không đc mà sao , xem thử dùm em

cái này bạn làm bằng thủ công vẫn được mà. Ô B2=IF(LEFT(A2,2)="TK",MID(A2,5,50),"") sau đó kéo fill xuống rồi dùng filter loại bỏ ô trắng ra và copy được mà bạn. Mình nghĩ nó chẳng tốn bao nhiêu thời gian của bạn đâu.
 
Dạ đúng rồi , nhưng điều kiện là TK và MK phải khớp nhau và vì có những cái thiếu nên khi kéo xuống làm sao nó chính xác ô mình cần , và có những cái TK là khoản trống thì mình vẫn nhận , cách của anh em mần ra đc nhưng khi copy phần MK thì nó lại sai lệch với phần TK anh ơi-+*/
 
Dạ rồi , em thiếu cái file

Tôi chỉ xét tới dòng 1000. Bạn tự sửa cho thích hợp với dữ liệu của mình

Đặt name tmp
Mã:
=IF((LEFT(Sheet1!$A$2:$A$1000;2)="TK")+(LEFT(Sheet1!$A$3:$A$1001;2)="MK")=2;ROW(Sheet1!$1:$999);"")

Công thức cho B2
Mã:
=MID(INDEX($A$2:$A$1000;SMALL(tmp;ROWS($1:1)));5;50)

Công thức cho C2
Mã:
=MID(INDEX($A$2:$A$1000;SMALL(tmp;ROWS($1:1))+1);5;50)

Kéo xuống dưới tới khi gặp #NUM!
------------------

Hoặc bạn dùng 1 công thức duy nhất cho ô B2
Mã:
=MID(OFFSET(INDEX($A$2:$A$1000;SMALL(tmp;ROWS($1:1)));COLUMNS($A:A)-1;0);5;50)

Kéo sang phải và xuống dưới tới khi gặp #NUM!
 
Tôi chỉ xét tới dòng 1000. Bạn tự sửa cho thích hợp với dữ liệu của mình

Đặt name tmp
Mã:
=IF((LEFT(Sheet1!$A$2:$A$1000;2)="TK")+(LEFT(Sheet1!$A$3:$A$1001;2)="MK")=2;ROW(Sheet1!$1:$999);"")

Công thức cho B2
Mã:
=MID(INDEX($A$2:$A$1000;SMALL(tmp;ROWS($1:1)));5;50)

Công thức cho C2
Mã:
=MID(INDEX($A$2:$A$1000;SMALL(tmp;ROWS($1:1))+1);5;50)

Kéo xuống dưới tới khi gặp #NUM!
------------------

Hoặc bạn dùng 1 công thức duy nhất cho ô B2
Mã:
=MID(OFFSET(INDEX($A$2:$A$1000;SMALL(tmp;ROWS($1:1)));COLUMNS($A:A)-1;0);5;50)

Kéo sang phải và xuống dưới tới khi gặp #NUM!

Khi em đặt name hay dùng công thức Offset cho ô B2 thì excel báo lỗi thưa thầy (excel highlight phan $A$1000). Nhờ thầy coi giúp.
 
Khi em đặt name hay dùng công thức Offset cho ô B2 thì excel báo lỗi thưa thầy (excel highlight phan $A$1000). Nhờ thầy coi giúp.

Tôi làm có thấy lỗi gì đâu.
Chú ý: Nếu trong công thức dấu phân cách các parametr là ";" (chấm phẩy) không được chấp nhận thì thay bằng "," (phẩy). Cái này tùy máy
 
Tôi làm có thấy lỗi gì đâu.
Chú ý: Nếu trong công thức dấu phân cách các parametr là ";" (chấm phẩy) không được chấp nhận thì thay bằng "," (phẩy). Cái này tùy máy

Dạ cám ơn thầy, đúng thế máy em chấp nhận dấu "," để phân cách các parameter.
 
Dạ cám ơn thầy, đúng thế máy em chấp nhận dấu "," để phân cách các parameter.

Cái này nó có lôgic của nó. Không biết lôgic của Excel như thế nào nhưng của tôi là như sau:

Rõ ràng nếu trong CP thiết lập dấu "," là dấu thập phân thì chắc chắn Excel không chấp nhận "," là dấu phân cách các parameter. Vì sao? Vì nếu trong công thức có vd. 2 parameter Optional thì vd. 1,2 phải được hiểu như thế nào? Là chỉ có 1 parameter là 1,2 (cái kia optional) hay đó là 2 parameter 1 và 2? Như vậy dùng "," sẽ dẫn tới sự mập mờ, không rõ ràng.

Cũng máy của bạn nhưng nếu bạn sửa thiết lập trong CP thì bạn dùng được dấu ";" là dấu phân cách trong công thức
 
Cám ơn Thầy siwtom anh Bảy Dzõ nhìu .
Em không hiểu rõ phần
Đặt name tmp lắm
và khi em làm cách 2 thầy hướng dẫn thì
excel báo lỗi thưa thầy SMALL(tmp;ROWS($1:1)). Nhờ thầy coi giúp.
 
Lần chỉnh sửa cuối:
Cám ơn Thầy siwtom anh Bảy Dzõ nhìu .
Em không hiểu rõ phần
Đặt name tmp lắm
và khi em làm cách 2 thầy hướng dẫn thì
excel báo lỗi thưa thầy SMALL(tmp;ROWS($1:1)). Nhờ thầy coi giúp.

Trong lời giải của tôi thì cách nào cũng cần đặt name. Nếu chưa biết cách đặt name thì phải học vì tương lai bạn sẽ cần. Tôi dùng Excel 2007 nên tôi hướng dẫn bằng 2007.

Mở thẻ Formulas --> nhấn vào mục Name Manager --> trong cửa sổ Name Manager nhấn vào New --> trong cửa sổ New Name ở trường Name nhập tmp, và ở trường Refers to thì nhập

Mã:
=IF((LEFT(Sheet1!$A$2:$A$1000;2)="TK")+(LEFT(Sheet1!$A$3:$A$1001;2)="MK")=2;ROW(Sheet1!$1:$999);"")

--> nhấn OK để đóng cửa sổ New Name --> nhấn Close để đóng cửa sổ Name Manager
--------------

Nếu bạn vẫn chưa biết cách đặt name thì bạn học sau vậy. Trong khi chưa biết thì bạn dùng công thức cho B2
Mã:
=MID(OFFSET(INDEX($A$2:$A$1000;SMALL(IF((LEFT($A$2:$A$1000;2)="TK")+(LEFT($A$3:$A$1001;2)="MK")=2;ROW($1:$999);"");
ROWS($1:1)));COLUMNS($A:A)-1;0);5;50)

Kết thúc bằng Ctrl+Shift+Enter
Kéo sang phải và xuống dưới
 
Lần chỉnh sửa cuối:
Dạ đc rồi , cám ơn thầy ạ , còn ô C2 mình viết như thế nào thầy , em ngố quá , cóp qua nó cũng báo lỗi
 
Lần chỉnh sửa cuối:
Dạ đc rồi , cám ơn thầy ạ , còn ô C2 mình viết như thế nào thầy , em ngố quá , cóp qua nó cũng báo lỗi

Công thức trên là bạn tự bịa ra chứ tôi có cho bạn công thức như thế đâu?
---------------

Nếu bạn dùng cách 2 thì sau khi bạn nhập công thức cho B2 thì bạn để ý thấy ở góc dưới bên phài có một chấm to hình chữ nhật. Bạn di con trỏ vào đấy thì nó sẽ chuyển thành dấu "+". Lúc đó nhấn và giữ chuột rồi kéo sang ô C2. Sao đó lại "tóm" góc dưới bên phải rồi nhấn chuột và kéo xuống dưới cho tới khi gặp #NUM! thì dừng.

Những cái cơ bản mà cứ phải giảng cho bạn thì khổ tôi quá.
 
Lần chỉnh sửa cuối:
dạ đc rồi ạ , em cám ơn thầy
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom