Validation

Liên hệ QC

summerhq2006

Thành viên hoạt động
Tham gia
4/3/08
Bài viết
112
Được thích
88
Trong hệ thống tài khoản kế toán thì có TK cấp 1 và TK cấp 2, TK cấp 3,.. Mỗi cấp TK được đánh ở một cột riêng biệt. Các bác cho em hỏi em dùng chức năng Validation như thế nào để lựa chọn tất cả các tài khoản ở các cấp, sao cho: Giả sử có 2 cấp tài khoản, nếu loại TK nào có TK cấp hai thì lựa chọn TK cấp 2, nếu không có TK cấp 2 thì lựa chọn TK cấp 1. Hay có cách khác không? Em gửi file đính kèm về ví dụ này!
 

File đính kèm

Trong hệ thống tài khoản kế toán thì có TK cấp 1 và TK cấp 2, TK cấp 3,.. Mỗi cấp TK được đánh ở một cột riêng biệt. Các bác cho em hỏi em dùng chức năng Validation như thế nào để lựa chọn tất cả các tài khoản ở các cấp, sao cho: Giả sử có 2 cấp tài khoản, nếu loại TK nào có TK cấp hai thì lựa chọn TK cấp 2, nếu không có TK cấp 2 thì lựa chọn TK cấp 1. Hay có cách khác không? Em gửi file đính kèm về ví dụ này!

Sao bạn không đưa toàn bộ TK cấp 1, cấp 2 vào chung một cột rồi dùng Validation.
Như thế có phải thích cái nào thì chọn cái đó không. Không dùng công thức gì cả mà nhanh nữa.
 
Tôi có cãm giác đang nói về Validation Multilist.. nhưng đọc chả hiểu muốn gì nên đành bó bột (Nếu hiểu rõ vấn đề, tôi tin tưởng có thể làm dc)
ANH TUẤN
 
Ví dụ trong file đính kèm bên trên, cột C là cột TK cấp 1, cột D là cột TK cấp 2. Đối với TK 111, thì có các tài khoản cấp 2 : 1111, 1112, ... Còn TK 129 thì không có TK cấp 2. Trong một ô lựa chọn thì kông chọn TK 111, mà chọn các TK 1111, 1112,... nhưng lại chọn TK 129! Cột E là em làm thêm nhưng thấy có vẻ không ổn. Các bác tư vấn giúp em nhé!
 
Vây mục đích bạn muốn làm cái Validation này là để làm gì? Và bạn muốn lập công thức vào chổ nào? Còn chổ nào thì nhập bằng tay? Thú thật tôi thấy mong lung quá, chưa hiểu dc ý đồ của bạn! (có lẽ ko chuyên ngành)
ANH TUẤN
 
Thế này Bác Tuấn nhé. Nếu TK cấp 1 VD: 111 mà có TK cấp 2 (1112) thì không cho vào danh sách TK cấp1 (111) mà chỉ lấy TK cấp 2 (1112), nếu TK cấp 1 mà không có TK cấp 2 thì lấy luôn TK cấp 1 (111) cho vào danh sách.
 
Thế này Bác Tuấn nhé. Nếu TK cấp 1 VD: 111 mà có TK cấp 2 (1112) thì không cho vào danh sách TK cấp1 (111) mà chỉ lấy TK cấp 2 (1112), nếu TK cấp 1 mà không có TK cấp 2 thì lấy luôn TK cấp 1 (111) cho vào danh sách.

Nếu đúng như thế thì đơn giản quá, chỉ cần tạo 1 list Tài khoản, nếu Tk nào có TK cấp 2 thì chỉ đưa TK cấp 2 này vào, ngược lại thì đưa TK cấp 1 vào danh sách.
 
Nếu đúng như thế thì đơn giản quá, chỉ cần tạo 1 list Tài khoản, nếu Tk nào có TK cấp 2 thì chỉ đưa TK cấp 2 này vào, ngược lại thì đưa TK cấp 1 vào danh sách.
Theo em hiểu thì ý bác là gộp 2 cột của 2 cấp TK này thành 1! Nhưng trong trường hợp là 2 cột riêng lẻ thì làm thế nào ah?
Em xin nói thêm, vì có nhiều bác không học kế toán. Tài khoản cấp 1 gồm 3 chữ số ví dụ 111 -> tiền mặt. Tài khoản cấp hai nhiều hơn một chữ số, ví dụ: 1111 -> Tiền mặt VND. Tức trong TK cấp 2 chứa những chữ số của TK cấp 1.
 
Lần chỉnh sửa cuối:
Theo em hiểu thì ý bác là gộp 2 cột của 2 cấp TK này thành 1! Nhưng trong trường hợp là 2 cột riêng lẻ thì làm thế nào ah?
Em xin nói thêm, vì có nhiều bác không học kế toán. Tài khoản cấp 1 gồm 3 chữ số ví dụ 111 -> tiền mặt. Tài khoản cấp hai nhiều hơn một chữ số, ví dụ: 1111 -> Tiền mặt VND. Tức trong TK cấp 2 chứa những chữ số của TK cấp 1.

Nếu là ở 2 cột thì ta dùng các hàm if, or, and, left để gộp chúng vào cột thứ 3, mà trong file VD của bạn đó có đấy thôi.
Theo mình thì File đó bạn down trên diễn đàn xuống và có mẫu như thế, Trên thực tế thì list danh sách tài khoản nó nằm trong bảng cân đối số phát sinh hay bảng cân đối TK. Ở đây nó sẽ liệt kê tất cả các TK chi tiết và tổng hợp. Ta sẽ dùng Validation từ list này. Trong NKC có cả TK chi tiết lẫn tổng hợp, trong các số chi tiết thì chỉ dùng TK cấp 2, cấp 3(nếu có), trong sổ cái thì ta chỉ dùng TK cấp 1. Vì thế nên tạo list TK tổng hợp để dễ dàng theo tác.
 
Trong hệ thống tài khoản kế toán thì có TK cấp 1 và TK cấp 2, TK cấp 3,.. Mỗi cấp TK được đánh ở một cột riêng biệt. Các bác cho em hỏi em dùng chức năng Validation như thế nào để lựa chọn tất cả các tài khoản ở các cấp, sao cho: Giả sử có 2 cấp tài khoản, nếu loại TK nào có TK cấp hai thì lựa chọn TK cấp 2, nếu không có TK cấp 2 thì lựa chọn TK cấp 1. Hay có cách khác không? Em gửi file đính kèm về ví dụ này!
Không biết mục đích chính của bạn là để làm gì, tại vì bạn đang làm vấn đề trở nên phức tạp và chắc chắc là kiểu làm này kg hữu dụng trong thực tế. Hệ thống tài khoản đưa ra có cấp 1, cấp 2, cấp 3...ở những cột khác nhau là cho dễ nhận biết thôi và chỉ mang tính hướng dẫn.
Sao bạn kg gộp lại một cột để dễ kiểm tra, truy xuất. Ngay cả phần mềm lớn họ còn chưa dám phân ra nhiều cột như bạn đâu. Với lại cái file của bạn tới gần cả trăm sheets chóng mặt quá...Hị hị...
Thân.
 
Hic! Em đặt ra tình huống như vậy thôi, thực tế làm thủ công cũng được. Nhưng nếu có cách nào gộp được lại thì tốt quá!
 
Có ai có thể giã lập bài toán này qua 1 tình huống khác dc ko? Chẳng hạn diển nôm nó thành "Tỉnh", "huyện", "phường xã" gì gì đó xem thử...
Chứ nghe các bạn chuyên ngành nói rồi tự hiểu với nhau, tôi lại chẳng hình dung dc vấn đề ra làm sao cả!
ANH TUẤN
 
Có lẽ là như vầy chăng?
Chỉ là tổ chức dữ liệu theo kiểu có quan hệ 1 nhiều.
To AnhTuấn: Giải thích cho dân ngoại đạo:
Thí dụ 1 cha có 1 hoặc nhiều con, hoặc không có con, nhưng 1 con chỉ có 1 cha.
Yêu cầu liệt kê tài sản mọi con và mọi cha. Về nguyên tắc giữ tài sản thì :
Cha không con giữ toàn bộ tài sản
Cha có con chia hết tài sản cho con, không giữ đồng nào
Khi liệt kê, tài sản của 1 cha bằng tổng tài sản của mọi con của mình đang giữ, nếu cha không con thì là tài sản của cha đang giữ.
tài sản của con nào kê cho đứa đó.
Hiểu hông?
 

File đính kèm

Đại khái tôi chưa hiểu yêu cầu của tác giã thôi... Xem 2 file tôi đoán có lẽ tác giả muốn gộp 2 cột C và D lại với nhau, đúng ko? Thế thì cái Validation đóng vai trò gì trong file này?
Và tiếp theo xem file của anh ptm thấy anh có thêm dử liệu cho cột C (chắc là fill cho đầy đủ)... Xem kết quả rồi đoán yêu cầu thì thấy đâu cần IF gì nhỉ? Tại sao ko là:
E12 =C12&D12
rồi kéo fill xuống
???
ANH TUẤN
 
Cái validation sẽ lọc dữ liệu cột E, là cột đầy đủ. Tác giả chắc chỉ cần thế, sau đó sử dụng vào việc khác ở sheet khác.
Giả sử có 1 sheet dữ liệu khi nhập liệu sẽ cần validation để giới hạn dữ liệu không bị sai.
Hoặc giả sử từ sheet dữ liệu đó, tác giả muốn trích xuất dữ liệu sang sheet khác theo tiêu chí là 1 giá trị trong cái list đó.
Còn tại sao không là C12&D12 là vì muốn chỉ rõ con nào của cha nào, để sau này tính tổng các con cho cha sẽ có đk để dò tìm.
Thí dụ tổng 111 = sumif(C2:C100),111,.....)
Trong khi đó vẫn cần tổng hợp theo Tk cấp 2: tổng 1111 = sumif(E2:E100,1111,....)

Đây là tài khoản chỉ có 2 cấp 1 và 2. Nếu có 3 cấp trở lên thì cấu trúc bảng danh mục TK sẽ còn khác nữa.
 
Thực ra thì TK cấp I và C II là TK chính & TK chi tiết. quan hệ của nó gần như bạn pmt0412 mô phỏng. Vậy nên không cần đưa nó ra n cột làm gì, chỉ nên để trong cột và nhớ là câp I có 3 kí tự ( 3 con số, Cii có 4 ) khi cần thì dùng lệnh mà gọi thôi có gì đâu?
 
Thí dụ trên là đơn giản cho hệ thống Tk 2 cấp. Vì lỡ để 2 cột rồi nên phải nhập 1 và phải có quan hệ nên làm thế.

Hệ thống TK nếu có từ 3 cấp trở lên sẽ làm theo cấu trúc sau:
........SoTK.....| .......capTK.....|......TKCha......|......TenTK......
Trong đó SoTK có từ 3 đến 8 ký tự, theo quy ước nhập liệu của đa số phần mềm thường sẽ nhập liệu tất cả vào TK dài nhất (8 số). Do đó TK 8 số cũng có thể có TK cha là 3 số. Ngoài ra TK cấp 1 sẽ có ít nhất là 1 TK cấp 2 . TK cáp 2 này nếu không có cấp nhỏ hơn sẽ có 8 ký tự, nếu có cấp nhỏ hơn thì có từ 4 đến 7 ký tự.
Để lúc khác mình đưa 1 file thí dụ.
 
Theo tôi hiểu ở đây là:
VD TK 111 là TK Mẹ
Trong TK mẹ có TK con là 1111,
Trong 1111 lại có
TK cháu là 11111
TK 111112
và 1112
Trong 1112 ko co chau
Điều kiện đặt ra là: Tk 111 có tk con thì bỏ qua không lọc tk 111 mà lọc đến đK thws 2 là TK con ở đây TK con 1112 không có chi tiết thì liệt kê ra TK 1112 trả về kết quả. Còn TK con 1111 có tk cháu thì bỏ qua và trả vể kết quả là TK 11111, và 11112
Vậy kết quả cần đưa ra là các TK:
11111
11112
và 1112
mà không lấy các TK 111, 1111.
Vậy rất mong được các cao nhân chỉ giúp!
Tôi giải thính như vậy có phải không đ/c hoangdanh282vn
 
Tôi hiểu nôm na thế này: Trong công tác kế toán, khi in chi tiết tài khoản thì chỉ in những tài khoản có mức chi tiết nhất.
Như vậy từ danh sách các tài khoản cần lọc ra 1 danh sách các tài khoản có mức chi tiết nhất để dễ chọn. Tôi gửi file đính kèm.
 

File đính kèm

Thiết lập hệ thống tài khoản sao cho không ảnh hưởng bởi chính sách kế toán.

Chào các anh chị,
Theo như thiển ý cá nhân em chỉ phân các tài khoản theo nhóm và độ dài của tất cả các tài khoản là cố định. Ví dụ:
Nhóm tài khoản tiền
111000: Tiền mặt
111100: Tiền mặt VND
111110: Tiền mặt VND tại Văn phòng
111120: Tiền mặt VND tại nhà máy
111200: Tiền mặt USD

Như vậy khi trích lọc sổ chi tiết chúng ta chỉ cần tìm như sau:
Ví dụ đại khái:
Trích lọc phát sinh:
Mã:
Select * from GL where AcctID like '111' & '*' 
....
 
Web KT

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

Back
Top Bottom