- Tham gia
- 5/6/08
- Bài viết
- 30,703
- Được thích
- 53,963
Em có một cách khác không cần dùng công thức hay VBA chi cả! Theo dữ liệu file Tongcon_04, em chọn (chiếu sáng) vùng B8:B201, ấn Ctrl+G -->chọn Special -->chọn Blank--->okVới file Tongcon_04 tôi có 1 cách khác dùng công thức khá đơn giản, đồng thời có thể đặt trực tiếp công thức này vào ngay vùng dử liệu, (tức cột thành tiền)
Chưa có cao thủ nào ra tay nghĩa hiệp giúp với chứ!
Đây cũng là 1 trường hợp tổng con trong ứng dụng, mình lại dốt VBA không làm được, chỉ có ý tưởng mong mọi người giúp sức.
Thanks!
Vấn đề của bạn không khó, chỉ có điều cách bố trí dữ liệu của bạn chưa hợp lý nên làm khó bạn thôi.
Bạn chỉ cần thêm một cột nhập liệu để phân biệt đâu là vùng 1, đâu là vùng 2... , Như thế công việc sẽ rất đơn giản và dễ làm.
Như file bạn gửi ở trên thì thật khó để làm và để hiểu.
Không ai chịu ra tay hết sao?
K8 =IF(G8=0;".";ROUND(IF(AND(H8=0;I8=0);G8*J8;IF(AND(H8=0;J8=0);G8*I8;IF(AND(I8=0;J8=0);G8*H8;IF(H8=0;G8*I8*J8;IF(I8=0;G8*H8*J8;IF(J8=0;G8*H8*I8;G8*H8*I8*J8))))));3))
K8 = ROUND(G8*IF(H8=0;1;H8)*IF(I8=0;1;I8)*IF(J8=0;1;J8);3)
Function CKien(SoCK As Double, Dai As Double, Rong As Double, Cao As Double) As Double
If SoCK = 0 Then Exit Function
If Dai = 0 Then Dai = 1
If Rong = 0 Then Rong = 1
If Cao = 0 Then Cao = 1
CKien = Round(SoCK * Dai * Rong * Cao, 3)
End Function
1. Tính tổng con và đền hàng Tổng con cho từng phần khi hết phần công tác.
2. Khi in bàng khối lượng, thì chỉ có khối lượng được in như sheet "TLuong"
3. Khi in bàng đơn giá dự toán thì chỉ phần đơn giá được in như sheet "DonGia"
Một đề tài rất hay, có thể áp dụng cho bảng khối lượng của dự toán công trình, có lần mình đã đưa lên diễn đàn nhưng chưa có đáp án, nó cũng giống như tổng con ở đây; mình xin mạn phép gửi lại file mong được giúp đỡ.
File này là bảng khối lượng của dự toán xây dựng, mình dùng excel nhập trực tiếp và bảng tính, các ô tô màu là số liệu và diễn giải người dùng nhập, các phần khác mình ghi một macro để nó tự lấy dữ liệu ở một file khác bằng hàm volookup kết hợp với các hàm tình toán và điền dữ liệu cần thiết vào. Nhưng mình đang bí không giải quyết được:
1. Tính tổng con và đền hàng Tổng con cho từng phần khi hết phần công tác.
2. Khi in bàng khối lượng, thì chỉ có khối lượng được in như sheet "TLuong".
3. Khi in bàng đơn giá dự toán thì chỉ phần đơn giá được in như sheet "DonGia"
4. Còn nhiều ... nhưng trước mắt như vậy đã.
Mong được giúp đỡ.
Very Thanhks!
Không ai chịu ra tay hết sao?
Bạn thử sử dụng công thức này xem: C16 = if(A16=""," ",SUM(B16:INDEX(A16:B27,MATCH("*",A17:A27,0),2))), mọi người góp ý dùm nha!Các bạn mở file đính kèm lên xem...
Cấu trúc dử liệu dạng này tôi thấy có khá nhiều người sử dụng, hậu quả dẩn đến là ko tài nào SUMIF dc theo Mã...
Bài toán này dùng vòng lập For thì quá dể.. quét cái rẹt ra ngay... nhưng các bạn nghĩ xem nếu dùng công thức, có cách nào thiết lập công thức 1 cách tổng quát cho cột C ko? Cụ thể trong file, dử liệu tổng sẽ xuất hiện tại C6, C11 và C16 , còn các cell khác sẽ cho rổng
ANH TUẤN
Mình nghĩ các công thức tính tổng con như trình bày ở trên chỉ là những công thức thường nên dử liệu cở 1000 dòng đổ lại không thể làm bảng tính chậm được... Rất có thể trong file của bạn còn có các công thức khác (dùng mãng) hoặc 1 vài nguyên nhân khác nữa..."Cách 2: Dùng công thức... Cũng theo thuật toán quét ngược từ dưới lên giống như cách dùng VBA, chính vì thế nếu các bạn nhìn công thức tại cell đầu tiên sẽ cãm giác hơi khó hiểu... Hảy chuyển xuống cell cuối cùng xem nhé... Chỉ là SUM bình thường, ko có cột phụ, ko có name... Tốc độ nó mà ko nhanh thì thật là chuyện lạ đấy!... ha.. ha... (Xem giải pháp tại sheet CT01 của file đính kèm)
Tin chắc với giải pháp dùng công thức này thì ai ai cũng hiểu, vì nó.. quá.. quá đơn giãn..."
Mình đọc bài này lâu rồi, vận dụng cách này tới giờ được 2 tháng dữ liệu file của mình lên hơn 5MB, và dòng nhập liệu lên đến hơn 1000 dòng. Mình bắt đầu cảm thấy tốc độ chậm dần đều rồi, vì tính tổng quét ngược từ dưới lên như thế sẽ làm cho việc tính toán chậm đi. Mà trong khi đó máy tính của mình ở loại tốc độ cao đấy.
Còn Cách 1 thì mình không biết vận dụng vì mình dùng Openffice 3 (vừa tiết kiệm vừa tránh cơ quan kiểm tra)
Có cách nào dùng công thức mà làm cho tốc độ tính nhanh hơn không? Hoặc bạn nào giúp mình làm VBA bằng Open Office được không?
Cảm ơn các bạn nhiều!
Tôi đã xem file...File của mình >5MB nên mình không biết cách upload lên, đành phải dùng cái Megaupload.
http://www.megaupload.com/?d=VYZOG1IN
Xin mọi người cho ý kiến làm sao để file chạy nhanh hơn. Mình dùng OpenOffice3.0
Cảm ơn mọi người!
Cái này tôi không dám chắc ăn lắm... nhưng có thể khẳng định nếu dùng VBA thì bạn khỏi cần công thức nào, do đó hỏng có cái gì cần tính toán trong file cả (chỉ tính 1 lần khi nào ta cần)Bố trí dữ liệu cho hợp lý là sao? Phải chăng ghép mấy cái sheet vào làm một à? Mình không có kinh nghiệm trong việc tính toán đến việc file nặng đến thế và tại sao lại chạy chậm đi như vậy? Chỉ là bảng tính thống kê không thôi thì có lẽ chậm cũng không sao nhưng mình áp dụng nó để làm việc hàng ngày, nhiều lúc vội mà vẫn phải đợi tới 30s, 40s, cảm thấy bực mình. Nếu viết bằng VBA thì có nhanh hơn không các bạn nhỉ?