lọc dữ liệu ở sheet1 chuyển kết quả sang sheet2.

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

xda1811

Thành viên mới
Tham gia
14/2/08
Bài viết
29
Được thích
0
Bác Hướng.... hỗ trợ dùm em với
các bác giúp em quả lọc dữ liệu này với
dữ liệu của em để ở sheet 1 . kết quả cần hiện ở sheet2
Yêu cầu :
1.Tại ô D2 của sheet2 lấy 2 số bên phải của ô C2 ( số 10 ) và kiểm tra trong hàng 1 của sheet1. nếu dữ liệu trong hàng 1 có các số bên phải trùng với số 10 hoặc số 01 thì cho hiện số đó tại ô D2.
2.Tại ô G2 sheet2 lấy 2 số bên phải của ô C2 ( số 10 ) và kiểm tra trong hàng 2 của sheet1. nếu dữ liệu trong hàng 2 có các số bên phải trùng với số 10 hoặc số 01 thì cho hiện số đó tại ô G2.
3.Tại ô H2 sheet2 lấy 2 số bên phải của ô C2 ( số 10 ) và kiểm tra trong hàng 3 của sheet1. nếu dữ liệu trong hàng 2 có các số bên phải trùng với số 10 hoặc số 01 thì cho hiện số đó tại ô H2.
......
kiểm tra đến cột AK
mong các bác giúp em
Em cảm ơn các bác
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn dùng macro4 phải không?
 
Upvote 0
lọc dữ liệu ở sheet1 chuyển kết quả sang sheet2

Bạn dùng macro4 phải không?

em là lính mới mong anh hướng dẫn em, em chưa hiểu nhiều về macro anh ạ. Yêu cầu như vậy thì làm thế nào để ra kết quả chính xác nhất. ( dữ liệu của các hàng có thể cập nhật thêm từng ngày )

Thầy Hướng giúp em đi thầy
 
Lần chỉnh sửa cuối:
Upvote 0
Hỏi rõ thêm mới tiến hành được

. . . . .
2.Tại ô G2 sheet2 lấy 2 số bên phải của ô C2 ( số 10 ) và kiểm tra trong hàng 2 của sheet1. nếu dữ liệu trong hàng 2 có các số bên phải trùng với số 10 hoặc số 01 thì cho hiện số đó tại ô G2.
3.Tại ô H2 sheet2 lấy 2 số bên phải của ô C2 ( số 10 ) và kiểm tra trong hàng 3 của sheet1. nếu dữ liệu trong hàng 2 có các số bên phải trùng với số 10 hoặc số 01 thì cho hiện số đó tại ô H2.
...... kiểm tra đến cột AK
(1) Tại G3 mình nhập số 2; H3 nhập số 3 . . . . -> vậy 'AK3' sẽ tương ứng với dòng 32;
Nhưng dữ liệu bên S1 chỉ là 30 dòng thì làm sao với 2 cột 'AJ' & 'AK' đây bạn?

(2) Tại D2, G2, H2 . . . hiện nguyên số hay chỉ hiện 2 số đuôi thôi bạn; Bạn viết hiện nguyên số, nhưng viện dẫn chỉ là 2 số đuôi, vậy lần đàng nào?

Chờ tin bạn! :-=
 
Upvote 0
(1) Tại G3 mình nhập số 2; H3 nhập số 3 . . . . -> vậy 'AK3' sẽ tương ứng với dòng 32;
vâng . AK2 tương ứng với hàng 31 bên S1

Nhưng dữ liệu bên S1 chỉ là 30 dòng thì làm sao với 2 cột 'AJ' & 'AK' đây bạn?

Dữ liệu bên S 1 > 30.... hàng rất nhiều em sợ file excel lớn em ko để vào

(2) Tại D2, G2, H2 . . . hiện nguyên số hay chỉ hiện 2 số đuôi thôi bạn; Bạn viết hiện nguyên số, nhưng viện dẫn chỉ là 2 số đuôi, vậy lần đàng nào?

Chỉ hiện 2 số đuôi, ( VD C2=10, ô G2 của S2 sẽ tìm trong hàng 2 của S1 nếu thấy 10, hoặc 01 thì cho hiện 01, hoặc 10 lênn Ô G2 )
Tương tự H2 sẽ tìm hàng 3 S1
Tương tự I2 sẽ tìm hàng 4 S1
.....
cảm ơn anh
 
Lần chỉnh sửa cuối:
Upvote 0
Macro của bạn đây, xin mời thử xem

Mã:
Option Explicit
[B]Sub Filter2()[/B]
 Dim So2 As Variant, SoD, Sh As Worksheet
 Dim Rng As Range, sRng As Range
 Dim eRw As Long, Jj As Long

 Sheets("Sheet2").Select
 So2 = Right("0" & ([c2].Value Mod 100), 2)
 SoD = Right("0" & (So2 Mod 10) * 10 + So2 \ 10, 2)
 
 Set Sh = Sheets("sheet1")
 eRw = Sh.[a65500].End(xlUp).Row
 For Jj = 1 To eRw
   Set Rng = Sh.Range(Sh.Cells(Jj, 1), Sh.Cells(Jj, 255).End(xlDown))
   
   Set sRng = Rng.Find(So2, , xlFormulas, xlPart)
   If Not sRng Is Nothing Then
      If Right(sRng.Value, 2) = So2 Then
         sRng.Interior.ColorIndex = 35       '<=|'
         If Jj = 1 Then
            [d2] = So2
         Else
            Cells(2, 5 + Jj) = So2
         End If
      End If
   End If
   
   Set sRng = Rng.Find(SoD, , xlFormulas, xlPart)
   If Not sRng Is Nothing Then
      If Right(sRng.Value, 2) = SoD Then
         sRng.Interior.ColorIndex = 39      '<=|'
         If Jj = 1 Then
            [d2] = SoD
         Else
            Cells(2, 5 + Jj) = SoD
         End If
      End If
   End If
   [d2].Resize(, eRw + 9).NumberFormat = "0#"
   
 Next Jj
[B]End Sub[/B]

Chú í khi xài: Kiểm theo màu tô bên 'S1':-=
 
Lần chỉnh sửa cuối:
Upvote 0
em gặp lỗi này anh SA ơi
49fc660b821d3_m.jpg
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
bạn hãy xem lại: So2 10
tôi nghĩ là có vấn đề .
 
Upvote 0
Code của Bác Sa:
PHP:
 Sheets("Sheet2").Select
 So2 = Right("0" & ([c2].Value Mod 100), 2)
 SoD = Right("0" & (So2 Mod 10) * 10 + So2  10, 2)

lỗi dòng thứ 3, sửa lại là:

PHP:
 SoD = Right("0" & (So2 Mod 10) * 10 + int(So2 / 10), 2)

tuy nhiên, yêu cầu của tác giả là dò trên 31 dòng của sheet1, mỗi dòng tương ứng với 1 ô của sheet2 từ G đến AK.

File dưới đây làm đúng yêu cầu trên. Phím tắt là Ctrl + Shift +Q
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Code của Bác Sa:
PHP:
 Sheets("Sheet2").Select
 So2 = Right("0" & ([c2].Value Mod 100), 2)
 SoD = Right("0" & (So2 Mod 10) * 10 + So2  10, 2)
lỗi dòng thứ 3, sửa lại là:

PHP:
 SoD = Right("0" & (So2 Mod 10) * 10 + int(So2 / 10), 2)
tuy nhiên, yêu cầu của tác giả là dò trên 31 dòng của sheet1, mỗi dòng tương ứng với 1 cột của sheet2 từ G đến AK.

File dưới đây làm đúng yêu cầu trên. Phím tắt là Ctrl + Shift +Q

đúng yêu cầu của bài ra rồi. em cảm ơn các anh, cảm ơn bác SA, anh PTM0412 nhiều lắm, các anh quả là nhiệt tình
chúc các anh vui vẻ, mạnh khỏe
}}}}}
 
Upvote 0
em gặp lỗi này anh SA ơi

Dòng lệnh đó là
Mã:
 SoD = Right("0" & (So2 Mod 10) * 10 + So2 \ 10, 2)
Nhưng khi dùng chức năng [PHP ]. . .[/PHP ] của diễn đàn thì chức năng này chén mất toàn tử '\' của mình; Sẽ rút kinh nghiệm cho những lần sau!

Chứ câu lệnh này mình đã thử trên máy của mình & không sai mới đưa macro lên;
Dùng toán tử này mình thấy tiện hơn thôi; Hơn nữa các số của bạn đâu có số lẽ, phải không?

Sau đó mình chép macro này vô file của bạn mới đưa lên, thì đúng là dòng đó báo lỗi do bị mất toán tử nêu trên;

Trước khi nâng cấp DĐàn, tuy không hiện toán tử '\' nhưng copy đi nới khác vẫn có toán tử kia, giờ thì đúng là nó chén luôn, thật tai hại do vô í!

Xin lỗi bạn nha.
 
Upvote 0
chào các anh! nhờ các anh chỉ giúp với: Hiện công việc của em cần tra rất nhiều bảng tính, có cách nào để việc tra bảng được tự động hơn không, việc tra bảng toàn là nội suy tuyến tính không àh. Mong được giúp đỡ!
 
Upvote 0
Web KT

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

Back
Top Bottom