Trích dữ liệu từ dữ liệu chung

Liên hệ QC

trailangque

Thành viên mới
Tham gia
21/2/08
Bài viết
8
Được thích
1
Xin chào tất cả ! Là thành viên mới của diễn đàn và cũng là người mới bắt đầu đi làm. Em có bảng Excel nhờ chỉ giúp. Làm thế nào để trích những mặt hàng trong 1 danh mục có sẵn(total) ra từng sheet con cho mỗi loại hàng và kèm theo các dữ liệu có liên quan của mặt hàng đó. Xin cám ơn tất cả.Em có file đính kèm xin chỉ giúp.
 

File đính kèm

  • loc ma hang.xls
    23.5 KB · Đọc: 373
Mình làm nhưng không biết có được không?
Bạn xem file nhé!
 

File đính kèm

  • loc_ma_hang.zip
    20.7 KB · Đọc: 500
Lần chỉnh sửa cuối:
salam đã viết:
Mình làm nhưng không biết có được không?
Bạn xem file nhé!
Điều này đồng nghĩa là chỉ cần 2 sheet: 1 sheet Total và 1 sheet trích xuất... Muốn trích cái nào thì chọn vào Dropdown list
ANH TUẤN
 
Nếu chỉ vài trăm dòng đổ lại thì dùng công thức, chứ cả chục ngàn dòng mà dùng công thức thì theo em không hiệu quả đâu. VBA thôi !

Em nhớ trên Contextures hình như có cả code cho việc trích xuất dữ liệu theo kiểu này

TDN
 
tedaynui đã viết:
Nếu chỉ vài trăm dòng đổ lại thì dùng công thức, chứ cả chục ngàn dòng mà dùng công thức thì theo em không hiệu quả đâu. VBA thôi !
Em nhớ trên Contextures hình như có cả code cho việc trích xuất dữ liệu theo kiểu này
TDN
Ai chà... điều này chưa chắc... còn tùy vào dử liệu... Tôi có thể trích 1 bảng tính 60.000 hoàn toàn bằng công thức và nhanh hơn VBA đấy! Tin ko?
ANH TUẤN
 
...cả chục ngàn dòng mà dùng công thức thì theo em không hiệu quả đâu. VBA thôi !
...Tôi có thể trích 1 bảng tính 60.000 hoàn toàn bằng công thức và nhanh hơn VBA đấy! Tin ko?
Làm một cuộc thí nghiệm đi hai bác. Nếu như chỉ dùng được công thức mà hiệu quả thì em vẫn thích hơn, hơn nữa phù hợp với nhiều "ngu dân" như em ! he he
 
trailangque đã viết:
Xin chào tất cả ! Là thành viên mới của diễn đàn và cũng là người mới bắt đầu đi làm. Em có bảng Excel nhờ chỉ giúp. Làm thế nào để trích những mặt hàng trong 1 danh mục có sẵn(total) ra từng sheet con cho mỗi loại hàng và kèm theo các dữ liệu có liên quan của mặt hàng đó. Xin cám ơn tất cả.Em có file đính kèm xin chỉ giúp.
Còn một vấn đề trong file của bạn là biểu mẫu của bạn không nên để hai thứ tiếng, Nếu để thì phải dịch tiếng việt cùng với tiếng của nước nào đó, không để cột thì tiếng Anh, cột tiếng Việt như vậy.
P/O chắc là purchase order.
 
Lần chỉnh sửa cuối:
Cảm ơn ! Bác Salam nhiều . Em đã làm như của Bác rồi nhưng còn chỗ chưa làm được . Cột ngày tháng không hiển thị được bên từng loại hàng vì lúc nhập cho dễ nhìn trong ngày có nhiều loại hàng nhưng chỉ nhập ngày 1 loại đầu tiên cho nên trích bên từng hàng không hiển thị theo . Vậy cách khắc phục thế nào xinh nhờ các Bác chỉ giúp . Xin cám ơn.Xem thêm file đính kèm

Gởi Bác AnhTuan1066 . Tại vì yêu cầu em phải xuất ra từng sheet của mỗi loại hàng.do vậy phải có nhiều sheet. mỗi sheet em phải làm biểu đồ cho từng loại nữa cho nên không thể ít sheet ( Vì yêu cầu cấp trên)
 

File đính kèm

  • loc_ma_hang.xls
    37.5 KB · Đọc: 173
Lần chỉnh sửa cuối:
Bạn nên điền đầy đủ thông tin cho từng dòng (hàng). VD: ở ô A6 = A5 fill xuống khi có thay đổi ta chỉ cần điền số liệu vào ô đó.
Bạn vẽ đồ thị cho từng mặt hàng thì bạn chỉ việc vẽ ở một sheet bình thường, khi ta thay đổi tên hàng thì đồ thị cũng thay đổi theo tương ứng với hàng ta chọn. (Một sheet cho hàng, một sheet đồ thị và một sheet tổng hợp = 3 sheet) cho file của bạn là hợp lý nhất rồi. Còn bạn làm mỗi hàng một sheet không khoa học lắm, file nặng thêm bạn nên chọn cách tối ưu. (nếu mã hàng mà nhiều 10 , 100 , 1000 thì bạn tạo 1000 sheet eo ơi tèo téo teo).
 
Như tôi đã nói còn tùy thuộc vào dử liệu thực tế đễ quyết định xem nên dùng cái gì...
Nói ko có bằng chứng mọi người sẽ ko tin... Tôi đính kèm file này dùng toàn công thức, nếu ai có thể làm nó bằng VBA với tốc độ tính toán hơn cách tôi đang làm thì đưa lên, chúng ta cùng thi đấu về tốc độ nhé!
Mến
ANH TUẤN
--------------------------
(Ghi chú: File này dung lượng tương đối lớn, các bạn nhanh tay tải về tham khảo, khoảng vài ngày nữa tôi sẽ xóa nó, hao tốn tài nguyên quá.. hi.. hi..
-------------------------------
Xin lỗi tôi phải xóa file này, hết tài nguyên rồi... Các bạn xem file mới nhất ở bài #12 nhé!
 
Lần chỉnh sửa cuối:
anhtuan1066 đã viết:
Như tôi đã nói còn tùy thuộc vào dử liệu thực tế đễ quyết định xem nên dùng cái gì...
Nói ko có bằng chứng mọi người sẽ ko tin... Tôi đính kèm file này dùng toàn công thức, nếu ai có thể làm nó bằng VBA với tốc độ tính toán hơn cách tôi đang làm thì đưa lên, chúng ta cùng thi đấu về tốc độ nhé!
Mến
ANH TUẤN
--------------------------
(Ghi chú: File này dung lượng tương đối lớn, các bạn nhanh tay tải về tham khảo, khoảng vài ngày nữa tôi sẽ xóa nó, hao tốn tài nguyên quá.. hi.. hi..)
Hi hi, ai mà chạy đua tốc độ với anh thì chỉ có chết thôi. Như anh đã nói tùy dữ liệu thì làm sao lường hết mọi tình huống, đúng không anh ? File mẫu của anh rất hay, chạy nhanh chỉ với 3-4 chục dòng công thức vì trích xuất theo ngày trong tháng. Chứ trích xuất theo mặt hàng hay đại lọai là gì đó mà lên cả ngàn dòng thì công thức liệu có kham nổi không anh (về dung lượng lẫn tốc độ), hi hi. Thật ra, em thấy đúng như anh nói Cuối cùng thì cũng lại là câu "Tùy dữ liệu" (Nhưng cái này là suy nghĩ riêng em thôi nha : thông thường với khối dữ liệu lớn HIẾM KHI may mắn gặp trường hợp dùng công thức hiệu quả)

Em cũng xin gởi 1 file dựa trên Data của anh nhưng không dám đua tốc độ đâu à nha, chỉ nhằm mục đích thực hiện theo mục đích của Trailangque. Tham khảo cho vui, chứ VBA này cũng ì ạch lắm, he he

Thân
TDN
 

File đính kèm

  • Trich xuat du lieu.zip
    572.8 KB · Đọc: 385
Tôi đễ ý thấy tốc độ tính toán chưa chắc phụ thuộc vào số lượng công thức nhiều hay ít đâu... mà quan trọng là RANGE ấy... RANGE trong công thức có số dòng càng lớn thì tốc độ càng chậm... Chính vì lẽ đó mà phải khéo léo chia nhỏ vùng dử liệu ra vừa đũ, ko thừa, ko thiếu...
Ví dụ trích theo tháng thì sắp xếp Data theo thứ tự tăng dần, sau đó hãy dùng công thức chia nhỏ dử liệu ra 12 phần (tương đương 12 tháng)... Trong 1 tháng sẽ chia vùng dử liệu ra từng ngày, cuối cùng ta sẽ dc 1 RANGE có số dòng khá nhỏ, đũ đễ công thức chạy vivu...
Trích theo mặt hàng tôi nghĩ cũng ko có vấn đề... Thầy nghĩ xem số lượng mặt hàng càng nhiêu sẽ tương đương với vùng RANGE dc chia càng nhỏ ---> ta càng có lợi về tốc độ... Ngược lại, số lượng mặt hàng ít, chỉ vài 3 mặt hàng thì quả thật tốc độ sẽ chậm đi, nhưng khi ấy ta cần gì trích, đúng ko? 3 mặt hàng, mắt nhìn cũng thấy, trích chi cho mệt... mà giã sử bắt buộc phải trích trong trường hợp này thì tôi cũng ko dùng VBA luôn, Filter ra tuốt...
He... he...
Bài toán này lúc trước đã có người làm bằng VBA nhưng tốc độ quả thật ko nhanh bằng với file mà thầy đang làm... Rất hay!
Tôi thì khó có thể làm bằng VBA giống thầy dc, nhưng tôi có version mới đây, đương nhiên vẫn bằng công thức, tốc độ còn nhanh hơn file củ nhiều lần... Tham khảo nhé, chạy trên máy P2, mỗi lần tính toán chỉ mất 2s... còn trên máy P4 thì.. ko còn gì đễ nói nữa... 0 thời gian... ha.. ha..
ANH TUẤN
 
Lần chỉnh sửa cuối:
Phải thừa nhận rằng Anh là bậc thầy về công thức, File chạy siêu tốc thật. Nhưng em nghĩ nó không liệt kê các phần tử như yêu cầu của Trailangque
rồi. File của anh hình như là trích xuất số liệu hơn là trích xuất dữ liệu, đúng không anh ? (Cái em này hỏi thật đó nha)

Thân
 
Đúng vậy! Như thầy nói... File này là file thực tế tại cty tôi, đại khái tính xem trong 1 ngày thì 1 đối tượng nào đó đã tiêu xài hết bao nhiêu tiền cho việc mua sắn vật tư
Mấy năm nay toàn phải làm bằng tay vì chẳng công thức nào chạy nỗi.. hi.. hi.. Giờ thì ổn rồi...
Thật ra vụ trích này tôi cũng chưa có khái niệm chính xác, làm đến đâu rút kinh nghiệm đến đó... gọi là tùy cơ ứng biến thôi mà...
ANH TUẤN
 
Ví dụ trích theo tháng thì sắp xếp Data theo thứ tự tăng dần, sau đó hãy dùng công thức chia nhỏ dử liệu ra 12 phần (tương đương 12 tháng)... Trong 1 tháng sẽ chia vùng dử liệu ra từng ngày, cuối cùng ta sẽ dc 1 RANGE có số dòng khá nhỏ, đũ đễ công thức chạy vivu...
Vậy dùng VBA theo ý này cũng nhanh vậy, hy vọng là nhanh hơn công thức. Chia thành 12 và chia thành số ngày trong tháng luôn.
 
To Dvu58
Anh có thể dùng cách trích xuất dữ liệu ở bài #11 để thống kê và trích xuất danh sách học sinh theo phường. Vì em đã làm ứng dụng làm giúp 1 người bạn, thấy tiện và nhanh lắm.
Anh thử xem !

TDN
 
tedaynui đã viết:
Hi hi, ai mà chạy đua tốc độ với anh thì chỉ có chết thôi. Như anh đã nói tùy dữ liệu thì làm sao lường hết mọi tình huống, đúng không anh ? File mẫu của anh rất hay, chạy nhanh chỉ với 3-4 chục dòng công thức vì trích xuất theo ngày trong tháng. Chứ trích xuất theo mặt hàng hay đại lọai là gì đó mà lên cả ngàn dòng thì công thức liệu có kham nổi không anh (về dung lượng lẫn tốc độ), hi hi. Thật ra, em thấy đúng như anh nói Cuối cùng thì cũng lại là câu "Tùy dữ liệu" (Nhưng cái này là suy nghĩ riêng em thôi nha : thông thường với khối dữ liệu lớn HIẾM KHI may mắn gặp trường hợp dùng công thức hiệu quả)

Em cũng xin gởi 1 file dựa trên Data của anh nhưng không dám đua tốc độ đâu à nha, chỉ nhằm mục đích thực hiện theo mục đích của Trailangque. Tham khảo cho vui, chứ VBA này cũng ì ạch lắm, he he

Thân
TDN
Việc nhanh hay chậm là tùy thuộc vào toàn bộ hệ thống cơ sở dữ liệu đó, bao gồm cả việc nhập liệu, chứ không chỉ là lúc tính toán.

Việc dùng name cũng nhanh, dùng VBA cũng nhanh và thậm chí dùng công thức thô cũng nhanh. Dùng công thức thô thì như người đi bộ, dùng name thì như người đi xe đạp, và dùng VBA thì như người đi xe máy.
Như vậy vấn đề nhanh hay chậm, chở được nhiều hàng hay không thì trở nên đơn giản rồi.

Trong những điều kiện cụ thể thì khó có thể nói là cái nào nhanh hơn, bởi phải biết xét về tổng thể : Điểm đi là đâu, điểm đến là đâu ?? Phạm vi áp dụng.

Ví dụ chỉ đơn thuần A3=A1+A2 hay là một cái gì đó tương tự thì không có cái gì nhanh bằng công thức thô rồi.

Làm name cũng nhanh, khi mà lợi dụng sự sắp xếp của dữ liệu để chia nhỏ ra, tuy nhiên nó có điểm yếu là sự tùy biến không cao, không phải dữ liệu nào cũng được (phép) sắp xếp, và khi cần sử dụng tổng hợp từ nhiều yếu tố, từ nhiều sheet thì dùng name rất nặng nề, thậm chí là không thể.

Còn nhưng việc đơn giản mà dùng VBA thì đúng là chậm hơn rồi, việc giết chim sẻ mà lại phải đi tìm súng, trong khi đó chỉ cần 1 con dao nhỏ là được rồi. Thời gian đi tìm súng, nạp đạn, lên nòng . . đã làm mất rất nhiều thời gian rồi.

Vì vậy các bác cứ cho là dùng VBA nhanh hơn hay name nhanh hơn thì hoàn toàn mất thời gian.

Quan trọng là giải quyết được bài toán và người ta học được cái gì ở đó thôi.
Cũng giống như khi lập trình thì mấy dòng code không có gì đáng kể, cái học được là khả năng giải thuật của người khác thôi.

Thân!
 
Ai da... Bắp hiểu sai rồi... Ko ai tranh luận về việc dùng công thức nhanh hay VBA nhanh... Ý tôi muốn nói tùy trường hợp... vì thầy Phước nói rằng dử liệu nhiều bắt buộc phải dùng VBA nên tôi mới nói là... CHƯA CHẮC... ha.. ha..
Công cụ đã có sẳn, quan trọng vẫn là cách dùng... cũng giống như Bắp vừa nói: cái học được là khả năng giải thuật của người khác thôi ... và những cái tôi làm dc như hôm nay là kiến thức mà Bắp đã từng dạy tôi trong những ngày đầu tôi chập chững đến với GPE, ko nhớ sao đại ca ?
Tôi thì xài tất, công thức hay VBA gì cũng xài.. miễn sao giãi pháp dc chọn lựa là nhanh nhất, tiện nhất, gọn nhẹ nhất trong tất cả các giãi pháp
Mến
ANH TUẤN
 
Lần chỉnh sửa cuối:
Chào tất cả ! Diễn đàn rất nhiệt tình giúp đỡ hướng dẫn người mới đi làm.chưa có kinh nghiệm. File vừa rồi em làm cũng tương đối chưa hoàn chỉnh lắm.Sau nay sẽ hỏi tiếp. Bây giờ cho hỏi cách nào cho nhiều máy mở cùng lúc cùng 1 file excel mà vẫn lưu được nội dung mình làm để máy khác nhìn thấy dữ liệu đó. Tại vì mõi lần mở báo là " read only " khi nhập vào lưu thì với tên khác mới được. vậy có cách nào không.
 
trailangque đã viết:
Bây giờ cho hỏi cách nào cho nhiều máy mở cùng lúc cùng 1 file excel mà vẫn lưu được nội dung mình làm để máy khác nhìn thấy dữ liệu đó. Tại vì mõi lần mở báo là "Read only" khi nhập vào lưu thì với tên khác mới được. vậy có cách nào không.

Vấn đề bạn hỏi thì Excel làm việc này không được tốt lắm. Vậy nên giải pháp thì có nhiều cách, nhưng đòi hỏi bạn phải áp dụng luôn cái kiến thức VBA.
Ví dụ:
_ Phân quyền theo từng worksheet (mỗi worksheet là một chức năng như nhập liệu, tạo báo cáo,...)
_ Dữ liệu không lưu trên Excel (như bài tôi đã giới thiệu về Xây dựng một ứng dụng kết hợp)

Lê Văn Duyệt
 
Web KT
Back
Top Bottom