Một yêu cầu về nhặt số liệu để cho vào bảng tương ứng (1 người xem)

Liên hệ QC

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

nguyenvietcuong

Thành viên mới
Tham gia
26/3/08
Bài viết
19
Được thích
1
Em có một file “dữ liệu đầu vào”, và muốn chương trình excel xử lý dữ liệu để cho ra kết quả như file “dữ liệu đầu ra” như ở file đính kèm thì fải làm như thế nào ạ?


Em mới chỉ học mấy hàm cơ bản của excel thoai, em hí hoáy mãi mà vẫn chưa nghĩ ra fải làm như thế nào ạ&&&%$R... các anh júp e với....


Cách tính toán & đưa số liệu vào các trường, em mô tả thế này ạ:
1. Ở file “dữ liệu đầu vào”, có các trường sau:
- Số chứng từ
- Ngày chứng từ
- Diễn giải
- Số tiền
- Tài khoản Nợ
- Tài khoản Có
- Mã khoản mục Nợ
- Mã khoản mục Có
2. Ở file “dữ liệu đầu ra”, em xin mô tả qua một số các trường sau:
- Số chứng từ
- Ngày chứng từ
- Diễn giải
- Bên Nợ của TK 141 & 3361
- Bên Có của TK 141 & 3361
- TK 133
- TK 621
- TK 622
- TK 627
3. Việc fải thực hiện:
- Nhặt dữ liệu của các trường “Số chứng từ”, “ngày chứng từ”, “diễn giải” ở file “dữ liệu đầu vào” để cho vào các trường tương ứng ở file “dữ liệu đầu ra”
- Ở trường “Bên Nợ của TK 141 & 3361” của file “dữ liệu đầu ra”, ta nhặt tổng “số tiền” tương ứng với “tài khoản Nợ” của 2 TK này. TK 141 & TK 3361 đc coi là như nhau để cộng tổng.
- Ở trường “Bên Có của TK 141 & 3361” làm tương tự
- Ở trường “TK 133” nhặt tổng số tiền của các tài khoản con của TK 133 bên “dữ liệu đầu vào”
- Ở các trường “TK 621, TK 622, TK 627” làm tương tự như “TK 133”
- Vì bên em theo dõi theo Mã khoản mục, nên fải tuân thủ nguyên tắc: Ở bảng “dữ liệu đầu vào”, trường “TK Nợ” và các trường tương ứng thì cho vào mã khoản mục ở trường “Mã khoản mục Nợ” tương ứng. Trường “TK Có” và các trường tương ứng thì cho vào mã khoản mục ở trường “Mã khoản mục Có” tương ứng.

Mô tả dài dòng thế thoai-+*/, nhưng các a xem wa file “dữ liệu đầu vào” và file “dữ liệu đầu ra” em nhặt thủ công -\\/.... là hiểu ý em liền mà ^^. File "dữ liệu đầu ra" em theo dõi theo mã khoản mục có tên là TAM...


Mong các anh júp em với, em nghĩ là fải dùng hàm vlookup & hlookup, rùi fải tính subtotal... nhưng yêu cầu công việc có vẻ phức tạp hơn so với chút kiến thức excel nhỏ nhoi mà e mới học đc+-+-+-+... e đau đầu wá vì ko bít fải sắp xếp hàm, rùi fải làm cụ thể ra sao...**~**

File “dữ liệu đầu vào” và “dữ liệu đầu ra” có thể đặt chung vào 1 workbook ở 2 sheet khác nhau, nhưng ở đây e tách ra 2 file excel để các anh tiện theo dõi ạ.


Với lại có một vấn đề là khi em download các file excel mẫu của các anh trên này về chạy thì thấy hiện thông báo lỗi là “This workbook has lost its VBA project, ActiveX controls and any other programmability-related features” thì nghĩa là em còn cài thiếu cái j để chạy file excel đó?//////
 

File đính kèm

Thankiu a nhìu lém, a thể hiện đc gần trọn vẹn mong mún của e rùi :') E cũng bắt đầu sáng sáng ra một chút xíu rùi ạ--=0... (thực sự là các câu lệnh của a em mới chỉ hỉu đc một chút xíu thoai... vì em vẫn thấy phức tạp wá, cộng với học ĐH e mới chỉ đc học một số hàm cơ bản thoai, cái hàm chỉ dẫn index trong excel e chưa đc học T_T)

Tuy nhiên có một điểm là: các giá trị khi đưa vào bảng dữ liệu đầu ra là đã tính tổng rồi ạ. Cụ thể như ở chứng từ số 025, tuy có 4 dòng, nhưng đều là nằm trong một chứng từ. Khi đưa vào bảng "dữ liệu đầu ra" thì tất cả số liệu chỉ nằm trên một dòng thoai, và như thế là mình fải tính tổng của các tài khoản trc khi đưa vào bảng "dữ liệu đầu ra": tính tổng của 2 dòng TK có 141 rồi đưa tổng vào bên Có của trường "TK 141,3361", tương tự, tính tổng của (6271+6271+6272) rồi đưa tổng đó vào trường "TK 627" của bảng "dữ liệu đầu ra".

Túm lại mục đích của e là làm thế nào từ bảng "dữ liệu đầu vào" đã cho, dùng excel để làm thành được như bảng "dữ liệu đầu ra" mà e đã làm thủ công đấy ạ. Bằng cách nào để được như thế cũng đc, miễn là e ko phải ngồi tính rùi chuyển thủ công thoai, mệt lắm:cc_surrender:... bên e mỗi năm có hơn 1000 mã khoản mục fải theo dõi như mã TAM này đấy ạ... Làm thủ công thì e chết mất...hu hu +-+-+-+

E sẽ nghiên cứu, học hỏi để hỉu đc thêm các hàm a đã dùng ạ -\\/.

Thank các a đã wan tâm đến vấn đề của e ạ. :')
 
File trên sai rồi bạn làm theo file sau
 
Lần chỉnh sửa cuối:
Cám ơn ThuNghi, cám ơn trang WEB wá hay và bổ ích!

Thân gửi ThuNghi:
Em thực sự là bất ngờ và cảm kích vô cùng... vì lần đầu tiên em tham gia một trang web mà lại được các thành viên quan tâm đến vấn đề của mình và hồi đáp nhanh chóng, kịp thời như thế này cả ...-=.,, Như các trang khác, em thấy gửi bài lên, và hôm sau được hồi đáp thì đã là may mắn nhắm rùi -0-/. Em cám ơn ThuNghi và trang web mình nhìu nhắm... Tiện đây cho hỏi làm thế nào để sdụng chức năng thanks! của diễn đàn nhỉ? E tìm mãi mà hổng có thấy -=.,,

File du "lieu dau vao02" ThuNghi đính kèm đã giải quyết gần như triệt để những khó khăn của em rùi.-=.,, Nhưng e mún hỏi ThuNghi là sheet "Out" của ThuNghi thiếu mất 3 chứng từ mà e đã đánh dấu màu xanh ở sheet "kết quả mẫu" để ThuNghi dễ theo dõi, và ở chứng từ số 007 trong sheet "out" nhặt thừa mất một khoản 1.363.637 đ ở cột TK133 mà e đã đánh dấu màu đỏ (lỗi này e fát hiện ra khoản này lẽ ra là fải ghi vào mã khoản mục CDC, nhưng ở đây đang theo dõi cho khoản mục TAM nên ko nhặt vào)... ThuNghi xem júp trong file e đính kèm dưới đây với... E ko bít fải sửa chỗ nào cả vì nhìn công thức của ThuNghi là e thấy chóng mặt ùi ạ **~**
 

File đính kèm

nguyenvietcuong đã viết:
... Tiện đây cho hỏi làm thế nào để sdụng chức năng thanks! của diễn đàn nhỉ? E tìm mãi mà hổng có thấy

Bạn muốn cám ơn người nào thì bạn chỉ cần nhấn nút "Cám ơn" dưới bài viết của người đó là được mà. Rất mong nhận được nhiều lời động viên như cảu bạn để có nhiều tấm lòng đến với nhau hơn
Chúc bạn luôn vui và tìm được nhiều điều bổ ích cho mình từ diễn đàn này
Thân mến
 
XuanThanh đã viết:
...Bạn muốn cám ơn người nào thì bạn chỉ cần nhấn nút "Cám ơn" dưới bài viết của người đó là được mà...

Ha ha, em phát hiện ra là do e dùng trình duyệt FireFox nên em ko thấy hiện ra cái nút "Cám ơn" có hình trái tim to tướng đấy&&&%$R ... em dùng IE thì nhìn thấy rùi ạ....^^
 
nguyenvietcuong đã viết:
Thân gửi ThuNghi:
Em thực sự là bất ngờ và cảm kích vô cùng... vì lần đầu tiên em tham gia một trang web mà lại được các thành viên quan tâm đến vấn đề của mình và hồi đáp nhanh chóng, kịp thời như thế này cả ...-=.,, Như các trang khác, em thấy gửi bài lên, và hôm sau được hồi đáp thì đã là may mắn nhắm rùi -0-/. Em cám ơn ThuNghi và trang web mình nhìu nhắm... Tiện đây cho hỏi làm thế nào để sdụng chức năng thanks! của diễn đàn nhỉ? E tìm mãi mà hổng có thấy -=.,,

File du "lieu dau vao02" ThuNghi đính kèm đã giải quyết gần như triệt để những khó khăn của em rùi.-=.,, Nhưng e mún hỏi ThuNghi là sheet "Out" của ThuNghi thiếu mất 3 chứng từ mà e đã đánh dấu màu xanh ở sheet "kết quả mẫu" để ThuNghi dễ theo dõi, và ở chứng từ số 007 trong sheet "out" nhặt thừa mất một khoản 1.363.637 đ ở cột TK133 mà e đã đánh dấu màu đỏ (lỗi này e fát hiện ra khoản này lẽ ra là fải ghi vào mã khoản mục CDC, nhưng ở đây đang theo dõi cho khoản mục TAM nên ko nhặt vào)... ThuNghi xem júp trong file e đính kèm dưới đây với... E ko bít fải sửa chỗ nào cả vì nhìn công thức của ThuNghi là e thấy chóng mặt ùi ạ **~**

Muốn làm được theo yêu cầu của bạn, e rằng trong Sheet data bạn cần phải tách cột diễn giải ra thành hai cột khách hàng và diễn giải. Trong Sheet out lập công thức giống như Thu Nghi đã làm nhưng thêm phần khách hàng và diễn giải vào nữa thì họa may mới đúng đực vì trong phần diễn giải của bạn nó lung tung quá và một chứng từ bạn lại ghi cho nhều khách hàng thì e....không hợp lý
Thân
 
Bạm xem lại file:
1/J4==IF(AND(OR($H4="tam",$I4="tam"),OR(LEFT($F4,3)="133",LEFT($F4,3)="621",LEFT($F4,3)="622",LEFT($F4,3)="627",$F4="141",$F4="336",$G4="141",$G4="336",LEFT($G4,3)="133",LEFT($G4,3)="621",LEFT($G4,3)="622",LEFT($G4,3)="627")),$B4&"-"&$C4,"")
ie nếu H4="tam" hoặc ĩ="tam" và f4,G4=133,336,... thì lấy sốCT&ngày
Bạn có thể thêm $H4="tam" tôi chưa hiểu lắm, nếu I4="tam" thì có lấy không.
2/K4=IF($J4="","",IF(COUNTIF($J$4:$J4,$J4)=1,MAX($K$3:$K3)+1,""))
ie
nếu đếm sốCT&ngày = 1 thì lấy mã.

Quan trọng nhất trong file này là số CT trùng, nên phải xét theo ngày, và cùng ngày, cùng số CT lại có định khoản theo quan hệ 2 Nơ, 2 Có. Nếu có thể nên tổ chức file lại.

Mấy cái này nên dùng VBA thì sẽ rất nhanh.

Bạn xem lại file
 
Lần chỉnh sửa cuối:
XuanThanh đã viết:
Muốn làm được theo yêu cầu của bạn, e rằng trong Sheet data bạn cần phải tách cột diễn giải ra thành hai cột khách hàng và diễn giải. Trong Sheet out lập công thức giống như Thu Nghi đã làm nhưng thêm phần khách hàng và diễn giải vào nữa thì họa may mới đúng đực vì trong phần diễn giải của bạn nó lung tung quá và một chứng từ bạn lại ghi cho nhều khách hàng thì e....không hợp lý
Thân

hok có một chứng từ ghi cho nhìu khách hàng đâu XuanThanh ơi... chắc cậu thấy trùng chứng từ nhưng thực tế nó là 2 chứng từ ở 2 ngày khác nhau đâu để ý cột thêm cột ngày chứng từ thì thấy ngay thoai :')
 
ThuNghi đã viết:
Quan trọng nhất trong file này là số CT trùng, nên phải xét theo ngày, và cùng ngày, cùng số CT lại có định khoản theo quan hệ 2 Nơ, 2 Có. Nếu có thể nên tổ chức file lại.

Mấy cái này nên dùng VBA thì sẽ rất nhanh.
uấy a ơi, e chỉ cần làm thế nào nhanh nhất, đơn jản nhất, ít thao tác người làm nhất là ổn a ơi... còn cách thức làm thế nào cũng đc ạ... cứ để máy xử lý nhìu nhất ý...-\\/. Em xuất đc file dữ liệu đầu vào như thế & chỉ cần cho ra kết quả như ở file "dữ liệu đầu ra là ổn"... còn nếu dùng VBA nhanh hơn thì a hướng dẫn e lập trình rùi cho chạy như thế nào với...^^ Cái VBA e chưa xài bao h... Cả đời dùng excel, em mới bít dùng một macro để sửa lỗi xuống dòng vô tội vạ khi mình nhận dạng chữ từ file ảnh thoai... mà cái macro nài cũng là do ng khác lập trình & hướng dẫn cách chạy... e chỉ copy & paste cái macro đó vào thoai@$@!^%...

Em xin mô tả lại kỹ để a bít như sau:
Ở fần dữ liệu đầu vào, có các trường là "Tài khoản Nợ", "TK có", "Mã khoản mục nợ", "Mã khoản mục có". Quy tắc là mã khoản mục nợ như thế nào thì nhặt các tài khoản nợ cần theo dõi của chứng từ vào mã khoản mục ấy. Tương tự với Mã khoản mục có thì nhặt các TK có cần theo dõi vào mã khoản mục này.
VD điển hình như ở chứng từ 007 ngày 01/06/2007 như sau:
(xem file đính kèm)



- Ở dòng thứ nhất: mã KM nợ là CDC nghĩa là "TK Nợ" là 1331 thì nhặt sang theo dõi bên mã CDC. Còn "TK Có" là 141 ứng với "Mã KM có" là TAM thì nhặt sang theo dõi bên mã TAM...
- ở dòng 2 - 4: TK nợ là 64287 ko ứng với mã KM nợ nào nên ko cần nhặt, với lại trong bảng kết quả ko theo dõi TK này nên ta cũng ko cần quan tâm.
- Bên trường "TK có", TK 141 xuất hiện ở cả 4 dòng và chiếu tương ứng sang mã KM có thì cả 4 dòng này đều theo dõi vào mã TAM nên ta tính tổng cả 4 dòng này và lấy sang "bên có" của "TK 141-3361" bên bảng kết quả.
Như ở file "du lieu dau vao02" a ThuNghi nhặt chứng từ 007 như thế là đúng rồi, chỉ có điều cái 1331 đấy là cho vào mã CDC chứ ko cho vào mã TAM như ở đây e đang xét... nên e chỉ đánh dấu đỏ vào fần 133 số tiền là 1.363.637, còn bên 141 a nhặt vào như thế là đúng rồi... Nhưng ở file "du lieu dau vao04" a lại bỏ cả chứng từ 007 đi thì lại thành thiếu... Các 3 chứng từ e nói nhặt thiếu & tô màu xanh thì e thấy đã có rùi... Vấn đề bây h chỉ còn là mất mất cái ctừ 007 thoai... Lỗi này là do e mô tả cách lấy dữ liệu chưa kỹ, em xin lỗi nhớ...

Và quan trọng là làm cách nào nhanh & đơn giản để đạt kết quả là đc a à... Nếu a làm VBA nhanh thì hướng dẫn e với...^^
 

File đính kèm

Lần chỉnh sửa cuối:
ThuNghi đã viết:
Em xem lại file "du lieu dau vao04-1" có OK thì sẽ làm bằng VBA cho.

a ơi, file đấy là wá chuẩn rùi ạ. Chỉ có điều khoản thuế 1.363.637đ ở TK133 của chứng từ 007 anh nhặt vào là thừa thoai, các khoản khác a nhặt đúng, vì khoản thuế đó theo dõi ở Mã khoản mục khác (mã CDC). Trong này chỉ theo dõi mã TAM thoai...

A xem thêm lại bài post trước của e với, ở đấy e mô tả rõ hơn rùi đấy ạ... E xin lỗi vì mô tả ko kỹ, làm a fải sửa lại nhìu lần +-+-+-+

Còn a đừng đưa vào VBA vội, vì đây mới chỉ là ví dụ cho một mã TAM, em còn có ý đồ mở rộng hơn, nhưng e cũng ko bít có thực hiện đc ko, vì e chưa bít tới các công cụ khác... Nên nếu có thể mong a cho e xin YM để có j a e mình chat trực tiếp đc thì hay wá ạ....

Nick YM của e là ffnguyenvietcuong
mail: ffnguyenvietcuong@yahoo.com
Thân,
 
Em xem lại file "du lieu dau vao04-2" có OK thì sẽ làm bằng VBA cho.

nguyenvietcuong đã viết:
a ơi, file đấy là wá chuẩn rùi ạ. Chỉ có điều khoản thuế 1.363.637đ ở TK133 của chứng từ 007 anh nhặt vào là thừa thoai, các khoản khác a nhặt đúng, vì khoản thuế đó theo dõi ở Mã khoản mục khác (mã CDC). Trong này chỉ theo dõi mã TAM thoai...
Hiểu rồi, ie if nợ 141,133, 622... phải theo mã TK Nợ là xxx ở đâu là "tam".
Em xem lại file.
 

File đính kèm

ThuNghi đã viết:
Em xem lại file "du lieu dau vao04-2" có OK thì sẽ làm bằng VBA cho.

Hiểu rồi, ie if nợ 141,133, 622... phải theo mã TK Nợ là xxx ở đâu là "tam".
Em xem lại file.
Như thế nài là perfect rùi a ơi:thumbs:... thuật toán a đưa ra để giải quyết vấn đề nài như vậy là wá ổn rùi ạ:victory:

Nếu a làm trên VBA đơn giản hơn, thì em nghĩ liệu có mở rộng được bài toán như sau ko ạ?

Như ở file "dữ liệu đầu vào", e mới chỉ lọc các chứng từ liên quan đến mã khoản mục TAM mà thôi. Mã khoản mục ở đây chính là mã của các hợp đồng kinh tế (mỗi một mã là một công trình) mà em fải theo dõi chi tiết. Mỗi một mã sẽ lập một bảng kết quả gọi là Sổ kế toán công trình dự án (thực chất là sổ theo dõi chi tiết cho từng công trình) như ở sheet "kết quả mẫu" mà em đã làm thủ công...

Thực tế thì các chứng từ fát sinh theo rất nhiều mã hợp đồng chứ ko chỉ là mã TAM như ở ví dụ trc... Vậy thì vấn đề đặt ra là, liệu có thể nhặt tự động theo từng mã, và mỗi mã tự động lập ra một Sổ kế toán công trình dự án cho mã đó như đã làm với mã TAM hay ko? Và giả sử đã làm được như thế thì xét theo khía cạnh quản lý, theo dõi... liệu khi muốn tìm Sổ kế toán công trình dự án của một hợp đồng, chỉ cần nhập mã của hợp đồng đó là Sổ kế toán công tình dự án tương ứng sẽ hiện ra ngay trên màn hình ko? Và cao hơn nữa, có bộ lọc thời gian để jả sử, chỉ muốn xem số liệu của các sổ mà thời gian phát sinh nghiệp vụ từ thời gian a đến thời gian b, và khi hiện lên sổ, thì chỉ có các chứng từ phát sinh trong thời gian đó mới nhặt vào sổ... liệu có làm đc như thế ko?:pray:

Chỉ là một suy nghĩ mún mở rộng vấn đề, mà chắc chắn những ai ham học hỏi tất yếu sẽ đặt ra... -\\/.Em ko bít liệu thực hiện nó có khó ko nữa... Ko biết vấn đề như vậy đã đc đặt ra chưa, và đã giải quyết đc chưa... Còn chỉ với riêng fần xử lý cho một mã như a đã hướng dẫn júp e như thế thì đã quá tuyệt vời rồi...@$@!^%

Dưới đây là file dữ liệu đầu vào, chứng từ của một tháng em tổng hợp đc theo thực tế fát sinh... Mã khoản mục rất nhìu, chứ ko chỉ có mã TAM... Một năm e fải theo dõi khoảng 700 - 800 mã như mã TAM...-+*/ và với yêu cầu mở rộng như trên, liệu có thể thực hiện bằng VBA hay bất kỳ công cụ nào hữu ích khác ko ạ?

Mong a để tâm xem xét júp e với ạ!-\\/.

E cám ơn a rất nhìu!



 

File đính kèm

ThuNghi đã viết:
Em xem lại file "du lieu dau vao04-2" có OK thì sẽ làm bằng VBA cho.

Hiểu rồi, ie if nợ 141,133, 622... phải theo mã TK Nợ là xxx ở đâu là "tam".
Em xem lại file.
A ơi, tự dưng em nghịch nghịch, xoá hết dữ liệu trong trường "Mã khoản mục Nợ", và "Mã khoản mục Có" trong sheet data, thì thấy trong sheet out vẫn nhặt tổng của 141 & 3361. Còn các trường khác thì ko lấy dữ liệu vào (như thế là các trường khác nhặt đúng theo mã khoản mục: ko có thì ko nhặt)...

Em hí hoáy mần mò công thức của a thì cuối cùng e cũng fát hiện ra chỗ thiếu...
Trong sheet out, ở cột Nợ của 141-3361, em đặt công thức là:
=SUMPRODUCT(((LEFT(data!$F$4:$F$146.3)="141")+(LEFT(data!$F$4:$F$146.3)="336"))*(data!$B$4:$B$146=Out!$B13)*(data!$C$4:$C$146=Out!$C13)*(data!$E$4:$E$146)*(data!$H$4:$H$146="Tam"))
Ở cột Có của 141-3361, em đặt công thức là:
=SUMPRODUCT(((LEFT(data!$G$4:$G$146.3)="141")+(LEFT(data!$G$4:$G$146.3)="336"))*(data!$B$4:$B$146=Out!$B13)*(data!$C$4:$C$146=Out!$C13)*(data!$E$4:$E$146)*(data!$I$4:$I$146="Tam"))
Do so sánh với công thức anh đặt ở các cột 133, 621, 622... em fát hiện ra là công thức ở Nợ & Có của 141-3361 thiếu mất fần mà em bôi đỏ đấy ạ... và em thử thêm vào... và thế là được a àh-\\/.... May wá@$@!^%

Nhưng như thế em cũng hiểu thêm ra là công thức đấy mới chỉ áp dụng cho mã TAM thôi, nếu gặp các mã khác thì e fải sửa lại...-+*/

Liệu có thể dùng cách nào (VBA...) sửa đc theo hướng mở rộng như ở bài post trên mà e đã nói ko ạ? nghĩa là ở trường "Mã khoản mục Nợ và Có" như thế nào thì theo dõi vào mã ấy, chứ mình ko phải sửa lại mã đấy là j ko ạ? VD: Mã khoản mục là "xxx" thì nhặt vào mã "xxx" tương ứng, chứ ko chỉ cho một mã là TAM?
 
nguyenvietcuong đã viết:
Trong sheet out, ở cột Nợ của 141-3361, em đặt công thức là:
=SUMPRODUCT(((LEFT(data!$F$4:$F$146.3)="141")+(LEFT(data!$F$4:$F$146.3)="336"))*(data!$B$4:$B$146=Out!$B13)*(data!$C$4:$C$146=Out!$C13)*(data!$E$4:$E$146)*(data!$H$4:$H$146="Tam"))
Ở cột Có của 141-3361, em đặt công thức là:
=SUMPRODUCT(((LEFT(data!$G$4:$G$146.3)="141")+(LEFT(data!$G$4:$G$146.3)="336"))*(data!$B$4:$B$146=Out!$B13)*(data!$C$4:$C$146=Out!$C13)*(data!$E$4:$E$146)*(data!$I$4:$I$146="Tam"))
Do so sánh với công thức anh đặt ở các cột 133, 621, 622... em fát hiện ra là công thức ở Nợ & Có của 141-3361 thiếu mất fần mà em bôi đỏ đấy ạ... và em thử thêm vào... và thế là được a àh-\\/.... May wá@$@!^%

Nhưng như thế em cũng hiểu thêm ra là công thức đấy mới chỉ áp dụng cho mã TAM thôi, nếu gặp các mã khác thì e fải sửa lại...-+*/

Liệu có thể dùng cách nào (VBA...) sửa đc theo hướng mở rộng như ở bài post trên mà e đã nói ko ạ? nghĩa là ở trường "Mã khoản mục Nợ và Có" như thế nào thì theo dõi vào mã ấy, chứ mình ko phải sửa lại mã đấy là j ko ạ? VD: Mã khoản mục là "xxx" thì nhặt vào mã "xxx" tương ứng, chứ ko chỉ cho một mã là TAM?
Đặt đại A2=Tam
Lúc này, data!$I$4:$I$146=A2
Bạn nên tập đặt name, nhấn Ctr F3, ví dụ:
data!$I$4:$I$146: MucCo
data!$H$4:$H$146: MucNo
data!$F$4:$F$146: TKNo
data!$G$4:$G$146: TKCo
data!$C$4:$C$146: NgayCT
data!$B$4:$B$146: SoCT
data!$E$4:$E$146: Sotien
Lúc này, công thức
=SUMPRODUCT(((LEFT(data!$G$4:$G$146.3)="141")+(LEFT(data!$G$4:$G$146.3)="336"))*(data!$B$4:$B$146=Out!$B13)*(data!$C$4:$C$146=Out!$C13)*(data!$E$4:$E$146)*(data!$I$4:$I$146="Tam"))
sẽ là:
=SUMPRODUCT(((LEFT(TKNo,3)="141")+(LEFT(TKNo.3)="336"))*(SoCT=Out!$B13)*(NgayCT=Out!$C13)*(SoTien)*
(MucCo="Tam"))
Và nhớ là có 1 Danh mục mã khỏan mục. Ta sẽ dùng validation để chọn đưa giá trị vào
A2
Tôi sẽ làm cho, nếu chọn theo khoản mục (dự án) nào thì sẽ ra bảng quyết tóan theo
khoản mục (dự án), cũng dễ thôi. Cái này giống như lọc số cái của hơn 1 TK theo khoản mục thôi.
Chúc thành công, bạn nắm bắt như vậy là có tiếp thu tốt đó. Cố lên.


 
Chào mừng trang web đã hoạt động trở lại!:<>

...trên cơ sở các hàm a ThuNghi đã lập và những gợi ý hướng dẫn của a, e đã có thể chỉnh sửa theo ý mình đc rùi:||\

Ở sheet OUT
:
- Em tạo 2 ô để nhập thời gian & sẽ nhặt các chứng từ thỏa mãn tgian đã nhập
- Em tạo 1 ô để nhập mã Khoản mục để tự động nhặt theo mã khoản mục đó
- Ô bên dưới em dùng hàm vlookup để xuất tên của khoản mục từ sheet Danh mục mã khoản mục
- Các ô số dư đầu năm của các TK cần nhập, em dùng hàm vlookup để xuất dữ liệu từ sheet Số dư đầu năm

Và như vậy, các mong muốn mở rộng của em gần như đã được thỏa mãn, tuy nhiên sau khi thực hiện, em thấy vẫn còn những bất cập sau::doh:
- Các ô ko tồn tại dữ liệu hoặc dữ liệu ko phù hợp điều kiện khi in ra bị có dấu gạch ngang.
- Em ko bít cách tạo hàm như thế nào để các cột "Số dư đầu năm + Số phát sinh", "Đưa vào giá thành", "Số dư cuối năm" tự động hiện ngay sau chứng từ cuối cùng của bảng kết quả. Nghĩa là giả sử bộ đếm đếm đc có 15 chứng từ thoả mãn điều kiện & xuất 15 dữ liệu tính toán của các chứng từ đó vào bảng kết quả thì phần khóa sổ bắt đầu từ dòng "Số dư đầu năm + số phát sinh" sẽ kế tiếp ngay sau chứng từ cuối cùng.
- Em thử dùng cách đặt tên name cho các địa chỉ, rất là tiện lợi, nhưng có một lỗi e ko bít vì sao là khi vào thay đổi lại phạm vi của các tên đã đặt thì em gặp lỗi ?NAME ở các ô có sử dụng hàm chứa name đó. VD: Em đặt tên KMno = $H$4:$H$146, thì khi em ấn Ctrl + F3 để sửa lại là KMno =
$H$4:$H$15000 thì các ô đã sử dụng địa chỉ KMno xuất hiện lỗi trên. Em phải sửa lại bằng cách là nhập địa chỉ bình thường vào hàm, ko nhập name nữa...
- Khi em mún in bảng tổng hợp kết quả của nhìu mã thì ko bít dùng hàm thế nào để làm? Chẳng nhẽ phải nhập từng mã, đợi excel tính toán cho từng mã, rùi in từng mã một?:play_ball: Có cách nào để lựa chọn, vd: chọn in các mã có dạng "*05", nghĩa là chọn in tất cả các mã có 2 số cuối là 05?
- Giao diện em làm quá xấu...:lol2: liệu có cách nào khi làm việc ở bên sheet out, thì sẽ xuất hiện hộp thoại hỏi nhập mã khoản mục & nhập thời gian cần lọc... và bên trong sẽ ko có phần nhập mã này như e đã làm nữa?
- Về vấn đề bảo mật, có cách nào để chỉ hiện sheet out mà ko hiện các sheet liên quan đến dữ liệu đầu vào như data, danh mục khoản mục, số dư đầu năm...? hoặc là ko cho thay đổi dữ liệu trong đó?
- Và một bất cập lớn nhấttốc độ tính toán, lọc của các hàm đã sử dụng cực cực kỳ chậm khi khối lượng data nhìu. Ở đây em mới sử dụng dữ liệu chứng từ của 1 tháng (khoảng hơn 1300 dòng trong sheet data) mà mỗi khi nhập mã khác cần lọc, hay là thay đổi ngày tháng cần lọc thì excel tính toán lại cực cực kỳ chậm... Em thử sử dụng dữ liệu của 1 năm (khoảng hơn 10000 dòng trong sheet data) thì mỗi lần bật file excel lên thì đã mất khoảng 5' để đợi, đấy là chưa nói đến thay đổi mã & tgian lọc...:frusty:

Hướng giải quyết các tồn tại trên:
- Em chỉ nên làm việc với dữ liệu của 1 tháng,:inv:
- Hoặc có thể sử dụng VBA hay các chương trình hỗ trợ khác để khắc phục vấn đề về nhập liệu, giao diện, bảo mật,... và đặc biệt là tốc độ tính toán?

Em xin cảm ơn ThuNghi đã nhiệt tình giúp đỡ và hướng dẫn em hoàn thiện vấn đề này. Thông qua vấn đề này, em đã hiểu thêm được một số hàm thông dụng và ứng dụng của nó... đều là nhờ ThuNghi cả.:thumbs:
Các vấn đề em đưa ra, mong ThuNghi & các a chị trọng diễn đàn tiếp tục hướng dẫn em hoàn thiện nhé!:group:
Em xin cám ơn mọi ng rất nhìu!

Đây là file em đã làm, nhưng bị mắc phải các vấn đề trên;;;;;;;;;;;


 

File đính kèm

Em xem như thế này, dùng VBA có đúng yêu cầu? Nếu OK thì hoàn thiện thêm.
Sao mà kèm file không được
Xin BQT cho tài nguyên. Cám ơn!
 
Lần chỉnh sửa cuối:
Em xem như thế này, dùng VBA có đúng yêu cầu? Nếu OK thì hoàn thiện thêm.
Sao mà kèm file không được
Xin BQT cho tài nguyên. Cám ơn!

Làm thế nào cũng đc mà a ơi @$@!^%
Làm thế nào để có thể liên lạc với a thường xuyên hơn nhỉ... chứ mỗi lần đợi a post bài trả lời, e lại phải chờ dài cổ....--=0

p/s: Xin hỏi Mod, sao em đã đánh dấu theo dõi đề tài này wa email mà khi có ng trả lời, e ko nhận đc email thông báo nhỉ? Trước khi trang web ngừng để bảo dưỡng, e thấy vẫn đc mà...%#^#$
 
A ThuNghi ơi, e nhận đc file làm bằng VBA của a rùi, nhưng file này là file trên nền cũ a ah...
Ở nhà e đã chỉnh sửa lại một chút & đã đính kèm lên đây rùi, a xem trên bài post #16 của e và nhúng VBA vào trên cơ sở file e mới đính kèm đấy với... chứ tình hình là rất tình hình, xem hàm a lập trong excel thì e có thể mò mẫm để hỉu & chỉnh sửa chứ còn VBA thì một chữ cắn đôi e ko bít a ơi...-+*/
Em sẽ cố gắng mò mẫm típ ạ:.,
 
Phải làm quen thôi, truy xuất theo gần 10 điều kiện mà dùng công thức thì sẽ chậm lắm. Em nên nghiên cứu thêm về Advance Filter. File này dùng rất hay.
 
Web KT

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

Back
Top Bottom