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

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

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

pmhoang

Thành viên thường trực
Tham gia
4/7/08
Bài viết
269
Được thích
83
Mình mới học VBA, Minh lập trình File này để sử dụng, mà mấy hôm này cứ làm đi làm lại mà không được ở bước lọc dữ liệu (FilterData). Mình post file len GPE mong anh em giúp đở với. Thanhk GPE

Yêu Cầu Lọc Theo điều kiện
Xóa hết các hàng, chỉ để lại những hàng thỏa điều kiện bên dưới
Lấy VD là Beam B1
1. Ở đầu Loc lấy hàng dữ liệu có M3 giá trị nhỏ nhất (hàng 7 có M3= -6.607)
2. Ở giữa Loc lấy hàng dữ liệu có M3 giá trị lớn nhất (hàng 28 hoặc 29 cũng được có M3= 3.525)
3. Ở cuối Loc lấy hàng dữ liệu có M3 giá trĩ nhỏ nhất (hàng 53 có M3= -6.684)


File gởi kèm ở bên dưới, hoặc theo link sau:
http://www.megaupload.com/?d=4NVSWINB

Mình mới học VBA, Minh lập trình File này để sử dụng, mà mấy hôm này cứ làm đi làm lại mà không được ở bước lọc dữ liệu (FilterData). Mình post file len GPE mong anh em giúp đở với. Thanhk GPE

Yêu Cầu Lọc Theo điều kiện
Xóa hết các hàng, chỉ để lại những hàng thỏa điều kiện bên dưới
Lấy VD là Beam B1
Ở đầu Loc lấy hàng dữ liệu có M3 giá trị nhỏ nhất (hàng 7 có M3= -6.607)
Ở giữa Loc lấy hàng dữ liệu có M3 giá trị lớn nhất (hàng 28 hoặc 29 cũng được có M3= 3.525)
Ở cuối Loc lấy hàng dữ liệu có M3 giá trĩ nhỏ nhất (hàng 53 có M3= -6.684)
Lấy hàng có V2 nhỏ nhất (hàng 7 có V2= -5.94)
Lấy hàng có V2 lớn nhất (hàng 52 có V2= 6.09)


HTML:
Yêu Cầu Lọc Theo điều kiện
Xóa hết các hàng, chỉ để lại những hàng thỏa điều kiện bên dưới
Lấy VD là Beam B1
1. Ở Loc đầu, lấy hàng dữ liệu có M3 giá trị nhỏ nhất (hàng 7 có M3= -6.607)
2. Ở Loc giữa, lấy hàng dữ liệu có M3 giá trị lớn nhất (hàng 28 hoặc 29 cũng được có M3= 3.525)
3. Ở Loc cuối, lấy hàng dữ liệu có M3 giá trĩ nhỏ nhất (hàng 53 có M3= -6.684)
(chú ý: Loc ở đây không phải là lọc mà là 1 ký hiệu đại diện, nghĩa của nó là mặt cắt)

Mình có ghi chú bảng tính trong file như sau:
Cột Loc (Cột có tên Lốc là cột D) là vị trí mặt cắt của Beam, vị trí cắt này không phải lúc nào cũng tăng lên theo bội số 0.5, mà là 1 số nào đó
VD Loc (Loc ở đây được hiểu là mặt cắt) của B1 là: 0 0.5 1 1.5 2 … 6 (đầu Loc la 0 va cuối Loc là 6)
có nghĩa là đối với Beam B1 thì ta có các Loc (mặt cắt) đi từ đầu bên này đến đầu bên kia, Ví dụ như ta có B1 là cây thước gạch dài 6 (cm). (Loc di từ 0 đến 6)
0 , 0.5, 1 , 1.5, 2, 2.5, 3 , 3.5, 4, 4.5, 5, 5.5, 6 đó là các khoảng cách mà ta dùng dao chặt cây thước gạch ấy ra (mặt cắt)

Mỗi lần cắt (tương ứng vói 1 vết đứt - tương ướng với 1 hàng số liệu trên bảng tính) cho ra M3 tương ứng
Nếu cây thước gạch đó chia là 4 phần, 6/4=1.5 cm, thì phần 1/4 đầu tiên Loc (từ >= 0 đến <1.5) thì gọi là phần Loc đầu tiên
1/4 đoạn cuối (từ > 4.5 đến <=6) gọi là Loc cuối. Còn lại 2/4 ở giữa gọi là Loc giữa.
Cái đó là cái khó nhất vì đối với mỗi loại Beam ta phải phân đoạn cho nó để lấy số liệu.
Hi vong cac bạn sẽ hiểu và giúp mình. thanks

Yêu cầu của mình là xóa hết hàng và để lại các hàng thỏa điều kiện
VD cụ thể là hàng số liệu tương ứng với hàng 7,28 hoăc 29, 53, 52 cho Beam B1
còn B2, B3, B5, B6 là tương tự như vậy mà để lại.

Có nghĩa là với Beam B1 cụ thể là xóa hết còn lại 3 hàng,
hàng 1 là hàng số 7 (khi chưa xóa)
hàng 2 là hàng 28 hoăc 29 (khi chưa xóa)
hàng 3 là hàng 53 (khi chưa xóa)

(Nhưng ô mà mình tô màu xanh va đậm là nhưng ô thỏa điều kiện và ta giữa lại hàng chứa nhưng o đó. còn lại là xóa)
Tương tự Beam B2 cũng còn lại 3 hàng.
Mình đã làm bằng tay đối với Beam B1, B2, B3, Và tô đậm màu xanh các ô thỏa mãn điều kiện ở Beam B4 có ghi chú từng trường hợp. Có lẽ anh ThuNghi giờ sẽ hiểu ý mình. Và mong anh ThuNghi giúp em với. ( chú ý đùng bấm nút ClearData, sẽ xóa hết nhưng ghi chú đó của mình)

Nói thì nhiều cho các bạn dẻ hình dung, chứ tốm lại có 1 câu 1 thôi.
Làm sao cho mỗi phần tử Beam chỉ để lại 3 dòng, có giá trị tuyệt đối lớn nhất ở 3 vị trị: Đầu , Giưu và Cuối.

Anh chi em GPE với!

Làm sao cho mỗi phần tử Beam chỉ để lại 3 dòng, có giá trị tuyệt đối lớn nhất ở 3 vị trị: Đầu , Giưu và Cuối. còn lại là xóa hết.
file gởi kềm ở #3

Yêu Cầu Lọc Theo điều kiện( file gởi kềm trong #1)
Xóa hết các hàng, chỉ để lại những hàng thỏa điều kiện bên dưới
Lấy VD là Beam B1
1. Ở Loc đầu, lấy hàng dữ liệu có M3 giá trị nhỏ nhất (hàng 7 có M3= -6.607)
2. Ở Loc giữa, lấy hàng dữ liệu có M3 giá trị lớn nhất (hàng 28 hoặc 29 cũng được có M3= 3.525)
3. Ở Loc cuối, lấy hàng dữ liệu có M3 giá trĩ nhỏ nhất (hàng 53 có M3= -6.684)
 

File đính kèm

Cần lọc dữ liệu ngẫu nhiên từ dãy kí tự có sẵn

Chào cả nhà. Lâu rồi mới có dịp ghé diễn đàn và làm phiền mọi người. Tôi có một dãy kí tự rất dài bao gồm cả kí tự đặc biệt và muốn rút gọn xuống còn 6 kí tự không có kí tự đặc biệt. Nội dung như file đính kèm, Kính nhờ các cao thủ chỉ giúp. Chúc cả nhà vui vẻ.
 

File đính kèm

Upvote 0
Chào cả nhà. Lâu rồi mới có dịp ghé diễn đàn và làm phiền mọi người. Tôi có một dãy kí tự rất dài bao gồm cả kí tự đặc biệt và muốn rút gọn xuống còn 6 kí tự không có kí tự đặc biệt. Nội dung như file đính kèm, Kính nhờ các cao thủ chỉ giúp. Chúc cả nhà vui vẻ.
Dùng công thức này xem có giúp đc bạn ko:
Mã:
=LEFT(SUBSTITUTE(B2,"-",""),6)
 
Upvote 0
Chào cả nhà. Lâu rồi mới có dịp ghé diễn đàn và làm phiền mọi người. Tôi có một dãy kí tự rất dài bao gồm cả kí tự đặc biệt và muốn rút gọn xuống còn 6 kí tự không có kí tự đặc biệt. Nội dung như file đính kèm, Kính nhờ các cao thủ chỉ giúp. Chúc cả nhà vui vẻ.
Bạn thử công thức này :
=MID(SUBSTITUTE(B2,"-",""),RANDBETWEEN(1,LEN(SUBSTITUTE(B2,"-",""))-6),6) .
 
Upvote 0
Cảm ơn các bác đã giúp đỡ, chúc năm mới vui vẻ
 
Upvote 0
Cảm ơn bác tuy nhiên em xin lỗi vì chưa nói rõ ý. Ở đây em muốn 6 kí tự lấy ra phải là ngẫu nhiên chứ không phải dãy liên tiếp ngẫu nhiên
 
Upvote 0
Cảm ơn bác tuy nhiên em xin lỗi vì chưa nói rõ ý. Ở đây em muốn 6 kí tự lấy ra phải là ngẫu nhiên chứ không phải dãy liên tiếp ngẫu nhiên

- Nếu lấy tùy ý thì có thể kết hợp hàm MID + RANDBETWEEN (gần giống bài 83)
- Nếu lấy theo điều kiện không trùng (ký tự lấy rồi sẽ không lấy nữa) thì bạn phải dùng VBA
 
Upvote 0
Cảm ơn bác tuy nhiên em xin lỗi vì chưa nói rõ ý. Ở đây em muốn 6 kí tự lấy ra phải là ngẫu nhiên chứ không phải dãy liên tiếp ngẫu nhiên

Lý do tại sao phải ngẫu nhiên?

Lý do tôi hỏi là vì có thể điều kiện ngẫu nhiên của bạn có thể còn nhiều nữa nhưng bạn chưa thấy hết. Đến lúc nhìn kết quả rồi bạn mới biết không đúng ý mình, vd:

Ngẫu nhiên như thế nào? có cần giữ lại vị trí tương đối các ký tự, nếu A đứng trước B trong mã nguyên thuỷ thì B có được đứng trước A trong mã mới? Nếu một ký tự lặp lại nhiều lần trong mã nguyên thuỷ thì mã mới có quyền lặp lại mấy lần?
 
Lần chỉnh sửa cuối:
Upvote 0
Chị HYEN17 ơi. Nếu cái file của chị trong cột load có nhiều trường hợp ví dụ như TT, HT,... thÌ mình muốn sửa lại code không cho xóa các trường hợp đó như thế nào vậy chị.
 
Upvote 0
HYEN17 ơi. Nếu cái file của chị trong cột load có nhiều trường hợp ví dụ như TT, HT,... thÌ mình muốn sửa lại code không cho xóa các trường hợp đó như thế nào vậy chị.
Bạn hỏi nhưng lại không trích dẫn bài nào thì cũng khó cho người được hỏi;

Bạn đến đây tiếp tục thảo luận đi nè: http://www.giaiphapexcel.com/forum/...á-trị-cục-đại-của-1-tiêu-chí-Đưa-bài-giúp-bạn
 
Upvote 0
Web KT

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

Back
Top Bottom