Trình bày lại cấu trúc dữ liệu. Làm theo bảng đó là chịu thua luôn.Chào các bạn, hiện tại mình đang cần tính số liệu cuối cùng của bảng tính là N-X-T theo nhiều tiêu chí các bạn xem giúp mình với nhé!
Thứ nữa: Tuy nhiên bạn sẽ cực nhiều vì cấp trên dốt về CSDL
Mấy thằng lãnh đạo có nhiều khi đầu óc của nó còn cao siêu hơn ý mình nghĩ đó anh.Thứ nhất: Cấp trên càng cao càng chả biết gì về CSDL;
Thứ nhì: Có thể từ Form ngu ngốc đó, ta viết macro chuyển dữ liệu về CSDL chuẩn để làm;
Thứ nữa: Tuy nhiên bạn sẽ cực nhiều vì cấp trên dốt về CSDL
Chúc vui!
Chào các bạn, hiện tại mình đang cần tính số liệu cuối cùng của bảng tính là N-X-T theo nhiều tiêu chí các bạn xem giúp mình với nhé!
Cũng không thể gồng được, nếu không thấy mặt mũi cái anh này:Cũng ráng gồng theo form của bạn. Xem file đính kèm.
Sheet đầu tiên là tổng hợp.
Sheet sau là chọn điều kiện theo ngày tháng, kho và SP
Dữ liệu của mình ở đây là theo 1 form từ cấp trên chỉ thị bằng văn bản các bạn à nên mình muốn thay đổi cũng không được
Mấy thằng lãnh đạo có nhiều khi đầu óc của nó còn cao siêu hơn ý mình nghĩ đó anh.
Cái mớ dữ liệu được đưa ra là chủ thớt đã nhào nặn một chập rồi. Mình đâu có thấy cái bảng ban đầu đâu cho nên khó thể kết luận về "mấy thằng lãnh đạo".
Cái bạn đưa ra đó chỉ là bảng chi tiết phát sinh. Nó như một đám giấy chứng từ xếp chồng lên nhau. Tự nó không thể dùng trực tiếp làm bảng tính để phân tích hay bảng báo cáo được.
Muốn phân tích hay báo cáo thì phải tổng hợp các chi tiết phát sinh vào một bảng chi tiết khác, đúng thứ tự và mạch lạc.
Làm cái này khong khó nhưng tôi khong thích làm việc với 2 loại trình bày:
1. Màu phông tùm lum. Tôi bị bệnh mù màu, nhìn màu tùm lum tôi nhức đầu lắm
2. Merged cells, làm tính toán mà bị cái này dễ bị đếm sai ô.
Mà tôi chưa thấy ai làm bảng chi tiết phát sinh như bạn. Ngay cả làm giấy tờ thủ công thì người ta ít nhất cũng xếp thứ tự theo ngày, và theo kho.
Sub ChuyenDuLieu()
Dim Arr()
Dim Rws As Long, J As Long, Col As Byte, W As Long
Rws = [b7].CurrentRegion.Rows.Count
Arr() = [b7].Resize(Rws, 9).Value
ReDim dArr(1 To Rws, 1 To 7): [p2].CurrentRegion.Offset(1).ClearContents
For J = 1 To UBound(Arr())
If Arr(J, 1) = "" Then
Exit For
Else
W = W + 1: dArr(W, 1) = W
dArr(W, 2) = Arr(J, 1)
If Arr(J, 2) <> "" Then
dArr(W, 3) = "N": dArr(W, 4) = Arr(J, 2)
dArr(W, 7) = Arr(J, 8)
ElseIf Arr(J, 3) <> "" Then
dArr(W, 3) = "X": dArr(W, 4) = Arr(J, 3)
dArr(W, 7) = Arr(J, 9)
End If
dArr(W, 5) = Arr(J, 6): dArr(W, 6) = Arr(J, 7)
End If
Next J
[N2].Resize(W, 7).Value = dArr()
End Sub
(1) Bên sheet nhập liệu của mình hàng tháng dự tính khoảng hơn 2.000 dòng dữ liệu, bao gồm khoảng 30 kho nhỏ lẻ và khoảng hơn 20 loại sản phẩm đúng ra phải
(2)1 Sheet nhập liệu, 1 Sheet tổng hợp theo sản phẩm và 1 Sheet tổng hợp theo kho, như vậy khi mình cần in dữ liệu theo cái gì mình chỉ cần lọc theo Combobox để lấy dữ liệu cần thiết.
(3) Mình muốn tô màu vào vùng dữ liệu cho các bạn dễ nhìn và dễ hiểu hơn để giúp đỡ mình . . . .
(1) Nếu dữ liệu như vậy thì quên "Công thức" đi!
Chỉ có thể là VBA mới trường tồn được;
(2) VBA có thể giúp bạn lập bản kê tồn đầu kì, nhập trong kì & xuất trong kì của bất kì đoạn thời gian nào mà bạn mong muốn. Chỉ có điều bạn có sẵn lòng đón nhận hay không mà thôi.
(3) Chỉ cần tô màu các tên trường/cột dữ liệu mà thôi; File đầu bạn đưa lên thì bạn tô cả cột của trang tính còn gì
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2