Lọc dữ liệu theo nhiều điều kiện (2 người xem)

Liên hệ QC

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

destinythanhphuong

Thành viên hoạt động
Tham gia
15/10/11
Bài viết
125
Được thích
2
chào các anh chị
em đang gặp vấn đề cách lọc dữ liệu ra sheet mới theo nhiều điều kiện:
  • Số lượng kế hoạch và Số lượng phân bổ theo máy >0
  • Công đoạn theo từng mã hàng có năng suất sản xuất thấp nhất.
cám ơn các anh chị.

em muốn lọc những dòng màu vàng ra sheet mới
https://www.dropbox.com/s/n6td2qodgndbzip/loc du lieu theo dieu kien.xlsx
 

File đính kèm

Lần chỉnh sửa cuối:
chào các anh chị
em đang gặp vấn đề cách lọc dữ liệu ra sheet mới theo nhiều điều kiện:
  • Số lượng kế hoạch và Số lượng phân bổ theo máy >0
  • Công đoạn theo từng mã hàng có năng suất sản xuất thấp nhất.
cám ơn các anh chị.

https://www.dropbox.com/s/n6td2qodgndbzip/loc du lieu theo dieu kien.xlsx

Bạn nêu vấn đề chưa rõ, làm đại hên thì trúng.

Muốn lọc số lượng kế hoạch thì tại A2 chọn 1 loại và xóa số liệu ở B2 rồi nhấn nút Advanced Filter.

Ngược lại muốn lọc Số lượng phân bổ theo máy thì tại B2 chọn 1 loại và xóa số liệu ở A2 rồi nhấn nút Advanced Filter.

Hoặc có thể chọn cả A2 và B2 rồi nhấn nút Advanced Filter.
 

File đính kèm

cám ơn bạn nhưng ý mình là lọc dữ liệu thoả mãn điều kiện

  1. tại cột số lượng kế hoạch và cột số lượng phân bổ theo máy lọc những dòng có giá trị >0.
  2. Cột năng suất sản xuất giá trị là min (Khác 0) theo từng mã hàng.
  3. theo vi trí trước nhiệt và sau nhiêt

Mình gửi bạn file hình dòng highlight màu vàng là dữ liệu mình muốn lọc ra sheet mới

Screenshot 2014-05-06 15.06.53.jpg
 
Lần chỉnh sửa cuối:
Chủ topic đang nói chỉ cho mình hiểu:

[thongbao] Cột năng suất sản xuất giá trị là min (Khác 0) theo từng mã hàng. [/thongbao]

Nhưng cột mã hàng là cột nào thì chưa ai biết!

)(&&@@)(&&@@)(&&@@
 

File đính kèm

Lần chỉnh sửa cuối:
hi Anh Ba tê
em có gửi file ví dụ cần xuất ra những dòng nào anh xem dùm em.
cám ơn anh. em mô tả cũng kỹ lắm rồi hix
 

File đính kèm

Vậy ý của bạn là: Trước tiên lọc cột Part# là mã hàng, rồi đến lọc vị trí (trước nhiệt, sau nhiệt) và cuối cùng là lọc số lượng kế hoạch hoặc số lượng phân bổ theo máy.

Mình hiểu là vầy:

Lập danh sách mã hàng duy nhất;

Trước khi lọc, bằng cách nào đó tính trị min của từng mã hàng;

Tạo vùng điều kiện lọc gồm

Mã hàng |Năng suất|số lượng kế hoạch| số lượng phân bổ theo máy|Vi trí
(Thay lần lượt)|Trị Min đã tìm|>0|>0|Trước/Sau nhiệt

Như vậy chỉ có 2 trường/cột là cố định & >0 mà thôi;
Còn các trường trong bảng ta thay lần lượt để tìm ra Record thích ứng với điều kiện cụ thể
Cái Record nào tìm được thì chép sang trang khác
.
.
.
 
Chỉnh sửa lần cuối bởi điều hành viên:
hi Anh Ba tê
em có gửi file ví dụ cần xuất ra những dòng nào anh xem dùm em.
cám ơn anh. em mô tả cũng kỹ lắm rồi hix
Đúng là tôi "lú lẫn" rồi.
Bạn đã mô tả cũng kỹ lắm rồi nhưng tôi vẫn chưa hiểu được cái quy luật để lọc.
Bài #8 và bài #9, 2 "lão gia" cũng vẫn còn phải đoán mò.
"Thua"!
---------------------
chào các anh chị
em đang gặp vấn đề cách lọc dữ liệu ra sheet mới theo nhiều điều kiện:

  • Số lượng kế hoạch và Số lượng phân bổ theo máy >0
  • Công đoạn theo từng mã hàng có năng suất sản xuất thấp nhất.
Cái "công đoạn" đâu liên quan gì đến chuyện lọc, bạn đưa vào câu yêu cầu làm gì?
3. theo vi trí trước nhiệt và sau nhiêt
Cái trước nhiệt hay sau nhiệt cũng không thấy ảnh hưởng gì đến quy luật để lọc
Do bạn cố gắng "giải thích rườm rà" làm khó hiểu thêm
Tôi chỉ lọc như thế này:
1/ Lấy mã của cột C mà cột K và cột N và cột O đều lớn hơn 0
2/ Trong các mã đó, chỉ lấy những dòng có số liệu trong cột K là nhỏ nhất.(có thể có nhiều dòng cùng có số liệu trong cột K bằng với số nhỏ nhất của mã đó)
3/ Hết.
 

File đính kèm

Lần chỉnh sửa cuối:
Chàng BaTê à; Có thể trị MIN trong "năng suất" của "trước nhiệt" & "sau nhiệt" là khác nhau!
Nếu khác nhau ta fải lọc ra 2 dòng này!
(Đó là theo mình hiểu nghe Chàng!)
 
Chàng BaTê à; Có thể trị MIN trong "năng suất" của "trước nhiệt" & "sau nhiệt" là khác nhau!
Nếu khác nhau ta fải lọc ra 2 dòng này!
(Đó là theo mình hiểu nghe Chàng!)
Bạn í viết
3. theo vi trí trước nhiệt và sau nhiêt
Nhưng nhìn vào bài thấy mã J1774 có cả TRƯỚC NHIỆT & SAU NHIỆT mà bạn í chỉ chọn 2 em Min của SAU NHIỆT là 6 làm kết quả thì bài của Ba Tê ok rồi bác Chanh ạ ( Nếu bạn í tô màu luôn dòng 62 tức là lấy thêm em Min của mã J1774 nằm ở vị trí TRƯỚC NHIỆT la 24 thì mới phải sửa code)
Híc
 
Bạn í viết

Nhưng nhìn vào bài thấy mã J1774 có cả TRƯỚC NHIỆT & SAU NHIỆT mà bạn í chỉ chọn 2 em Min của SAU NHIỆT là 6 làm kết quả thì bài của Ba Tê ok rồi bác Chanh ạ ( Nếu bạn í tô màu luôn dòng 62 tức là lấy thêm em Min của mã J1774 nằm ở vị trí TRƯỚC NHIỆT la 24 thì mới phải sửa code)
Híc
Đúng là tui cũng filter các dòng tác giả tô màu, không thấy liên quan gì với trước nhiệt hay sau nhiệt như bác Cò đã thấy.
Nếu mỗi mã đều có min trước nhiệt và min sau nhiệt thì code trước của tui đúng thêm 1 phần, dư 1 phần là xét luôn vừa mã vừa cái "công đoạn" gì đó mà tác giả "gán vào" yêu cầu.
Híc! đến giờ vẫn chưa biết đúng sai.
 
Cám ơn các anh chị nhiều lắm
Anh Ba Tê có thể chỉnh code min trước nhiệt và min sau nhiệt được không anh theo bài #11? cám ơn anh
 
Lần chỉnh sửa cuối:
hi các anh chị ơi giúp em lọc min theo năng suất trước nhiệt và sau nhiệt
cám ơn
 
Cám ơn các anh chị nhiều lắm
Anh Ba Tê có thể chỉnh code min trước nhiệt và min sau nhiệt được không anh theo bài #11? cám ơn anh
Bạn thay Sub này cho Sub của bài #10 bên trên:
[GPECODE=vb]Public Sub LOC_GPE()
Dim Dic As Object, sArr(), tArr(), dArr(), I As Long, J As Long, K As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
With Sheet1
sArr = .Range(.[A5], .[A65536].End(xlUp)).Resize(, 15).Value2
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 15)
ReDim tArr(1 To UBound(sArr, 1), 1 To 2)
For I = 1 To UBound(sArr, 1)
If sArr(I, 14) > 0 Then
If sArr(I, 15) > 0 Then
If sArr(I, 11) > 0 Then
Tem = sArr(I, 3) & sArr(I, 13)
If Not Dic.Exists(Tem) Then
K = K + 1
Dic.Add Tem, K
tArr(K, 1) = Tem & sArr(I, 11)
tArr(K, 2) = sArr(I, 11)
Else
If sArr(I, 11) < tArr(Dic.Item(Tem), 2) Then
tArr(Dic.Item(Tem), 1) = Tem & sArr(I, 11)
tArr(Dic.Item(Tem), 2) = sArr(I, 11)
End If
End If
End If
End If
End If
Next I
Dic.RemoveAll
For I = 1 To K
Tem = tArr(I, 1)
If Not Dic.Exists(Tem) Then Dic.Add Tem, ""
Next I
K = 0
For I = 1 To UBound(sArr, 1)
If sArr(I, 14) > 0 Then
If sArr(I, 15) > 0 Then
If sArr(I, 11) > 0 Then
Tem = sArr(I, 3) & sArr(I, 13) & sArr(I, 11)
If Dic.Exists(Tem) Then
K = K + 1
For J = 1 To 15
dArr(K, J) = sArr(I, J)
Next J
End If
End If
End If
End If
Next I
With Sheets("GPE")
.[A5:O1000].ClearContents
.[A5].Resize(K, 15) = dArr
End With
Set Dic = Nothing
End Sub[/GPECODE]
 
Web KT

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

Back
Top Bottom