Add nhiều record ngẫu nhiên trong table có sẵn vào table khác
Hi all!
admin cho tôi sr trước, vì tôi không biết phải post thắc mắc này vô Box nào...vì được tạo trong FORMS nên tôi post vào đây lun...^^
xin hỏi: tôi có 1 table A có N record, Và 1 table B chưa có record nào....2 table này có cấu trúc như nhau...
bây giờ tôi muốn tạo 1 button để add M record lấy từ N record của table A vào table B. Vấn đề là M record đó được "trích" 1 cách ngẫu nhiên từ N record của table A . Và mỗi lần bấm vào button này thì table B lại có những M' record mới khác....
(Tất nhiên là số M < N)
Mong mọi người chỉ giáo!
ps: giống như 1 bài hát được phát "shuffle" trong 1 list bài hát....không biết là do mỗi người quy định hay là có quy tắc để viết hàm như vậy...
[help] Cập nhật kho
Các pác cho em làm phiền tí nữa nhe ! Tình hình là em không biết làm cách nào để cập nhật từ form nhập hàng vào kho. Tức là khi nhập SP, mình nhập số lượng nhập vào, khi nhất nút OK thì nó trừ vào trong kho luôn (sản phẩm có thể nhập nhiều lần trong 1 ngày)
Với lại em thấy có CT trên lưới nó hiện 1 cột là sô lượng nhập, 1 cột là SL trong kho. Khi nhập số lượng nhập thì nó công trên lưới trước( 1 Sp có thể nhập nhiều lần và SL trong kho là cập nhật từ trên xuống), khi nhấn ok thì mới cập nhật vào kho.
giống trong Ct này http://download400.mediafire.com/4ja16mu...har1.1.rar
user : admin
pass : root
Bị lỗi sự kiện On Timer của form
Tôi tạo một form. Có đặt sự kiện On Timer và có điều kiện trong sự kiện này.
Nếu không có điều kiện trong sự kiện On Timer thì OK. Nhưng khi đặt điều kiện trong On Timer thì form cứ mở mãi không thoát được.
Nhờ các PRO chỉ giúp.
File tại link:
Lấy trang hiện hành của reports
Tôi có một biến để gán số trang hiện tại trên màn hình của report cho biến.
Mã: bien = reports("report1").page
Nhưng gặp vấn đề là khi tôi chuyển các trang, bien lại lấy giá trị của trang có giá trị cao nhất. Ví dụ cụ thể: report1 có 10 trang, tôi chuyển đến trang 8, sau đó chuyển về trang 6 thì bien = 8, lẽ ra bien = 6 mới đúng.
Nhờ các PRO chỉ giúp cách lấy giá trị cho bien đúng trang hiện tại trên màn hình.
SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện
|
Viết bởi: Noname
10-11-10, 03:12 PM
Chuyên mục: Ms Excel
- Không có hồi đáp
|
SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện
Nguồn: http://my.opera.com/duytuanvn/blog/
Công thức mảng, SUMPRODUCT, Lập công thức trong Excel
Đã có rất nhiều người dùng Excel gặp phải những bài toán thống kê phức tạp, tính tổng, đếm các chỉ tiêu có nhiều điều kiện ràng buộc. Excel cũng cũng cấp các hàm SUMIF, nhóm hàm Database: DSUM, DCOUNT,...Nhưng có lẽ tính "cơ động" của chúng vẫn làm bạn chưa ứng ý. Bài viết dưới đây tôi giới thiệu các bạn 2 phương pháp để thực hiện phép tính tổng có nhiều điều kiện.
Hàm SUMPRODUCT
Cấu trúc SUMPRODUCT(array1,array2,array3, ...)
Array - Mảng dữ liệu là một tập hợp dãy giá trị liên tiếp trong một khảng nào đó. VD A1:C1 hoặ A1:A10,...
Phép tính này cho phép chúng ta tính tổng của tích array1*array2*array3* ...array30.
VD: A: Số lượng; B: Đơn giá
A1 =2 B1=20 C1="Cam" D1="Giống lai"
A2 =3 B2=10 C2="Bưởi" D2="Không"
A3 =4 B3=25 C3="Cam" D3="Không"
Bây giờ cần tính doanh thu của các loại hoa quả
array1=A1:A3
array2=B1:B3
Công thức =SumProduct(A1:A3, B1:B3) = 170
Bản chất công thức làm việc như thế này =A1*B1+A2*B2+A3*B3 kết quả là 170
Nhắc lại về phép tính logic:
Giá trị kiểu logic chỉ cho ra 1 trong 2 giá trị là TRUE/1, FALSE/0
Phép toán logic:<, >, <>, =, >=, <=, Not()
VD:
2>3=False
3>1=True
4>3=True
*) Logic và - AND
=(2>3)*(3>1)*(4>3)=False*True*True=0*1*1=False/0 tương đương với hàm AND(2>3,3>1,4>3). Ít nhất một logic=False thì kết quả sẽ là False hay 0.
* Logic hoặc - OR
=(2>3)+(3>1)+(4>3)=False+True+True=0+1=True/1 tương đương với hàm OR(2>3,3>1,4>3). Ít nhất một logic=True thì kết quả sẽ là True hay 1.
Lưu ý tổng của các giá trị là True=True=1).
*) Tính tổng có nhiều điều kiện:
Cách 1: dùng SUMPRODUCT
Tính tổng doanh thu của loại là "Cam"
=SUMPRODUCT(A1:A3,B1:B3*(C1:C3="Cam")) hoặc =SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) = 140
Công thức tính như sau:
=A1*B1*(C1="Cam")+A2*B2*(C2="Cam")+A3*B3*(C3="Cam")
=2*20*True+3*10*False+4*25*True
=2*20*1+3*10*0+4*25*1= 140
Cách 2: dung Công thức mảng - "Formula Array"
=Sum(IF(C1:C3="Cam",A1:A3*B1:B3,0))
Kết thức nhẫn tổ hợp CTRL+SHIFT+ENTER. Với cách làm này EXCEL sẽ phân tích như sau:
Xét trên từng dòng trong mảng (array)
dòng1: (c1="Cam")=true nên lấy A1*B1=2*20
dòng2: (c2="Cam")=false nên lấy 0 (theo cách của lấy của hàm IF)
dòng3: (c3="Cam")=true nên lấy A3*B3=4*25
Sau khi chạy hết các dòng, EXCEL sẽ dùng hàm SUM để tính tổng kết quả tính được ở từng dòng=2*20+0+2*25=140. Nếu trong công thức là hàm khác hàm SUM thì cách tính sẽ theo hàm đó.
Như vậy có 2 cách tính:
=SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) và
=Sum(IF(C1:C3="Cam",A1:A3*B1:B3,0))
*) Vậy tại sao không dùng là =SUM(A1:A3*B1:B3*(C1:C3="Cam"))
mà phải dùng hàm =SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) ?
Các bạn nhớ lại cấu trúc của SUM là
SUM(number1,number2, ...)
Còn SUMPRODUCT là
SUMPRODUCT(array1,array2,array3, ...)
number <> array
Nếu SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) rồi ENTER là đúng vì đối số của nó phải là mảng - Array.
Nếu công thức =SUM(A1:A3*B1:B3*(C1:C3="Cam")) rồi ENTER kết quả là #VALUE! -lỗi vì A1:A3 là một array chứ không phải là một number.
Nếu nhấn tổ hợp CTRL+SHIFT+ENTER. Với cách làm này EXCEL sẽ phân tích như sau:
Xét trên từng dòng trong mảng (array)
dòng1: A1*B1*(c1="Cam")=2*20*True=2*20*1
dòng2: A2*B2*(c2="Cam")=3*10*False=3*10*0
dòng3: A3*B3*(c3="Cam")=2*25*True=4*25*1
Sau khi chạy hết các dòng, EXCEL sẽ dùng hàm SUM để tính tổng kết quả tính được ở từng dòng=2*20*1+3*10*0
+4*25*1=140.
Vậy vẫn dùng được =SUM(A1:A3*B1:B3*(C1:C3="Cam")) với điều kiện nhấn tổ hợp phím CTRL+SHIFT+ENTER
Như vậy đến đây chúng ta có có 3 cách tính:
=SUMPRODUCT(A1:A3*B1:B3*(C1:C3="Cam")) nhấn phím ENTER
=SUM(IF(C1:C3="Cam",A1:A3*B1:B3,0)) nhấn phím CTRL+SHIFT+ENTER
=SUM(A1:A3*B1:B3*(C1:C3="Cam")) nhấn phím CTRL+SHIFT+ENTER
Chúng có thể kết hợp rất nhiều điều kiện vào trong hàm thông qua phép toán logic nhân-và- And, cộng - hoặc - Or.
*) Dùng hàm SUMPRODUCT hay dùng SUM kết hợp CTRL+SHIFT+ENTER đều cho ra được kết quả như nhau chính là do phép toán logic của bạn.
*) Hàm SUMPRODUCT chỉ có thể tính tổng theo nhiều điều kiện
*) Công thức mảng - Formula Array ngoài việc tính tổng có nhiều điều kiện còn làm rất nhiều phép tính khác do cách sử dụng hàm mà thôi.
Chủ đề Mới nhất |
Trợ giúp về Textbox với c...
-Chuyên mục: Forms-Đăng bởi lần cuối: Nguyên Thông-18-04-24, 10:15 PM-
» Bài trả lời: 16-
» Lượt xem: 5,857
|
In mã vạch tạo từ access ...
-Chuyên mục: Forms-Đăng bởi lần cuối: huyhoang22-15-04-24, 11:25 AM-
» Bài trả lời: 38-
» Lượt xem: 20,772
|
Dòng Thơ Nhạc Trích Đoạn
-Chuyên mục: Góc Thơ -Đăng bởi lần cuối: Nguyễn Thành Sáng-11-04-24, 06:04 PM-
» Bài trả lời: 2-
» Lượt xem: 38
|
Kết nối bảng từ access A ...
-Chuyên mục: Thủ thuật VBA-Đăng bởi lần cuối: hieunx-11-04-24, 01:23 PM-
» Bài trả lời: 5-
» Lượt xem: 71
|
Lấy dữ liệu từ 1 cột của ...
-Chuyên mục: Query-Đăng bởi lần cuối: ongke0711-09-04-24, 11:34 AM-
» Bài trả lời: 11-
» Lượt xem: 488
|
Quản lý kho bằng Accesss
-Chuyên mục: Thảo Luận Access-Đăng bởi lần cuối: recca123-07-04-24, 11:27 PM-
» Bài trả lời: 38-
» Lượt xem: 1,500
|
[Lỗi] Automation error kh...
-Chuyên mục: Thành viên giúp nhau-Đăng bởi lần cuối: AnNguyen-05-04-24, 09:30 AM-
» Bài trả lời: 4-
» Lượt xem: 66
|
Lọc tên vật tư theo nhóm
-Chuyên mục: Forms-Đăng bởi lần cuối: ongke0711-02-04-24, 04:00 PM-
» Bài trả lời: 1-
» Lượt xem: 44
|
Thơ con cóc
-Chuyên mục: Góc Thơ -Đăng bởi lần cuối: Xuân Thanh-01-04-24, 06:45 PM-
» Bài trả lời: 111-
» Lượt xem: 59,092
|
Xin các bác một chương tr...
-Chuyên mục: Thảo Luận Access-Đăng bởi lần cuối: ongke0711-30-03-24, 02:57 AM-
» Bài trả lời: 2-
» Lượt xem: 49
|
Diễn đàn Thống kê |
» Thành viên: 4,456
» Thành viên mới nhất: amacdonea
» Các chủ đề diễn đàn: 9,856
» Các bài viết diễn: 48,435
Thống kê đầy đủ
|
| | | | |