Một trong những tính năng độc đáo nhất của excel chính là khả năng tính toán với các mảng dữ liệu trong công thức. Khi hiểu rõ được khái niệm này sẽ giúp chúng ta tạo ra được các công thức thực hiện các phép tính khó một cách kỳ diệu. Bài tiểu luận này sẽ giới thiệu các khái niệm về các mảng số liệu mà bất kỳ ai nếu muốn trở thành chuyên gia sử dụng công thức trong excel đếu phải biệt về nó, ngoài ra trong bài cũng trình bày các ví dụ về công thức mảng rất hữu ích.
Trang 1TIỂU LUẬN MÔN: TIN HỌC ỨNG DỤNG
TÊN ĐỀ TÀI:
TÌM HIỂU HÀM CÔNG THỨC MẢNG
VÀ CÁC ỨNG DỤNG MỞ RỘNG
GVHD: NGUYỄN THANH TÙNG
THÀNH PHỐ HCM, Tháng 06-2010
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA : KẾ TOÁN KIỂM TOÁN
Trang 2
-00O00 -DANH SÁCH NHÓM PHẠM CÔNG DANH 09193361
THÁI THỊ HƯƠNG 09084021
LOAN THỊ THU NGUYÊN 09084741
NGUYỄN NGỌC THƯƠNG 09192791
LÊ THỊ KIM TUYẾN 09206371
VÕ HOÀNG HẢI 09076261
Trang 3MỞ ĐẦU
Một trong những tính năng độc đáo nhất của excel chính là khả năng tính toán với các mảng dữ liệu trong công thức Khi hiểu rõ được khái niệm này sẽ giúp chúng ta tạo ra được các công thức thực hiện các phép tính khó một cách kỳ diệu Bài tiểu luận này sẽ giới thiệu các khái niệm về các mảng số liệu mà bất kỳ ai nếu muốn trở thành chuyên gia sử dụng công thức trong excel đếu phải biệt về nó, ngoài ra trong bài cũng trình bày các ví dụ về công thức mảng rất hữu ích
Trang 4NỘI DUNG
I/ CÔNG THỨC MẢNG (ARRAY FORMULAS)
1) Các khái niệm về công thức mảng
Nếu bạn đã từng lập trình trên bất kỳ ngôn ngữ lập trình nào thì chắc bạn cũng nghe đến khái niệm mảng (array) Một array đơn thuần chỉ là một tập hợp các phần tử có quan hệ độc lập với nhau Trong excel, một array có thể là array một chiều hoặc array hai chiều Chiều của array ở đây chính là chỉ các dòng và cột trong array Ví dụ như array một chiều thì có thể hiểu đó là một vùng (range) số liệu trên bảng tính mà vùng này sẽ có một dòng (khi array nằm ngang ) hoặc một cột (array nằm dọc) Một array hai chiều có thể hiểu đó là một vùng số liệu trên bảng tính (có dạng hình chữ nhật) Bao gồm nhiều dòng và nhiều cột Excel không hỗ trợ array 3 chiều (VBA thì hỗ trợ)
Công thức mảng không cần lưu trữ các số liệu trong quá trình tính toán trong các ô (cell), mà excel sẽ xử lý các mảng số liệu này trong bộ nhớ máy tính Sau
đó các công thức mảng sẽ lây kết quả tính toán trả về trên bảng tính Một công thức mảng có thể trả về kết quả nhiều ô (range) hay chỉ một ô
2) Công thức mảng trả về kết quả một vùng nhiều ô
Hình minh họa bên dưới trình bày ví dụ đơn giản về việc tính toán cột thành tiền, thông thường để tính toán cột thành tiền (cột D) này bạn sẽ nhập vào công thức sau:
Tại ô D2 nhập vào công thức =B2*C2 sau đó chép xuống D3:D7
Trang 5Để tính cho cột thành tiền ở đây ta dùng tới 6 công thức ngoài cách này ta có thể dùng một công thức mảng để tính ra kết quả cho cả cột thành tiền và lưu kết quả trả về tại D2:D7
Để tạo công thức mảng tính toán cho trường hợp này hãy làm theo các bước sau:
Chọn vùng các ô sẽ lưu kết quả trả về của công thức mảng, trong ví dụ này chọn vùng D2:D7
Nhập vào công thức sau =B2:B7*C2:C7 (sau khi chọn vùng thì gõ công thức này vào)
Vì đây là công thức mảng bạn hãy nhấn tổ hợp phím Ctrl+Shift+Enter để nhận kết quả công thức trả về (Công thức thông thường chỉ cần nhấn Enter)
Lúc này toàn vùng D2:D7 đã có kết quả tính toán và khi vào xem thì sẽ có
CT sau {=B2:B7*C2:C7}
Trang 6Lưu ý Excel sẽ đặt cặp ngoặc móc bao quanh công thức để chỉ đây là công thức mảng
Công thức mảng trên tính toán nó sử dụng dữ liệu từ hai mảng đó là mảng chứa
số liệu về [đơn giá] và [số lượng]
Vì ứng với mỗi mặt hàng sẽ có một kết quả thành tiền khác nhau, nên đó là lý
do ta phải chọn trước vùng địa chỉ D2:D7 để lưu trữ kết quả trả về của công thức mảng
Công thức mảng này trả về kết quả hoàn toàn chính xác cũng giống như kết quả
trả về từ 6 công thức riêng lẽ sau:
=B2*C2
=B3*C3
=B4*C4
=B5*C5
=B6*C6
=B7*C7
Sử dụng công thức mảng thay cho công thức đơn có một số ưu điểm như :
Là cách tính toán đảm bảo sự chính xác về kết quả (tránh trường hợp
vô tình sao chép sai công thức do chạy địa chỉ tham chiếu).
Dùng công thức mảng tránh được việc vô tình xóa hay vô tình làm thay đổi công thức trong một ô nào đó của vùng công thức mảng Vì công thức mảng không cho phép xóa, sửa chữa một ô trong vùng công thức mảng.
Dùng công thức mảng sẽ tránh các trường hợp người chưa thành thạo Excel làm xóa trộn các công thức của bạn.
3) Công thức mảng trả về kết quả một ô
Bây giờ chúng ta cần tính tổng tiền của các sản phẩm, tuy nhiên yêu cầu là tính toán căn cứ vào cột số lượng và đơn giá bằng công thức mảng (nghĩa là không thông qua cột thành tiền)
Trang 7Khi đó chúng ta có thể dùng công thức mảng sau:
Tại ô D8 bạn nhập vào công thức: =SUM(B2:B7*C2:C7) và kết thúc bằng tổ hợp phím Ctrl+Shift+Enter
Khi đó công thức trong ô D8 có dạng sau {=SUM(B2:B7*C2:C7)}
Công thức mảng này trả về kết quả tính toán tổng doanh thu cho tất cả các sản phẩm trong một ô D8
Công thức này cũng tính toán căn cứ vào 2 mảng số liệu được lưu trong vùng B2:B7 và C2:C7, trong
quá trình tính toán công thức mảng sẽ tạo ra trong bộ nhớ một mảng số liệu mới chứa kết quả của phép
nhân các cặp số liệu, sau đó hàm SUM được dùng để cộng tất cả các phần tử trong mảng mới này và trả
về một giá trị duy nhất lưu vào ô D8
Trong trường hợp này chúng ta cũng có thể dùng công thức thông thường là hàm SUMPRODUCT như
sau:Tại ô D8 nhập vào công thức =SUMPRODUCT(B2:B7,C2:C7) sau đó Enter
Trang 84) Mảng một chiều
Ta có thể xem mảng một chiều là một hàng (mảng ngang) hay một cột (mảng dọc) Các phần tử trong mảng một chiều (mảng ngang), được cách biệt nhau bằng một dấu phẩy, và trong bảng dọc được cách nhau bằng dấu chấm phẩy
Ví dụ: Tạo mảng một chiều:
Chọn 5 ô từ B3:F3 nhập ={1,2,3,4,5}à Ctrl+Shift+Enter
Chọn 5 ô từ B6:B10 nhập ={10;20;30;40;50} à Ctrl+Shift+Enter
={“Sun”,”Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sat”}àCtrl+Shift+Enter
5) Mảng hai chiều
Mảng hai chiều là hình chữ nhật bao gồm nhiều hàng và nhiều cột Tương
tự như mảng một chiều, ta sử dụng dấu phẩy để ngăn cách các phần tử trong cùng một hàng và dấu chấm phẩy để ngăn cách các phần tử trong cùng một cột
Ví dụ: Tạo mảng hai chiều:
Trang 9Chọn vùng A1:D3 nhập ={1,2,3,4;5,6,7,8;9,10,11,12}àCtrl+Shift+Enter
6) Mảng lỗi
Nếu nhập một mảng vào một dãy vốn có các ô nhiều hơn các phần tử mảng Excel sẽ hiển thị #N/A trong các ô còn lại.
VD:
Trang 107) SO SÁNH GIÁ TRỊ TRONG CÁC VÙNG BẰNG CÔNG THỨC MẢNG.
Trong Excel bạn có thể so sánh giá trị giũa các vùng trong cùng một bảng tính (sheet) hay ở những bảng tính khác nhau
Ví dụ, muốn biết giá trị trong vùng A1:A50 có giống vớicác giá trị trong vùng B1:B50 hay không, bạn thực hiện như sau:
Gõ công thức Sum(if(A1:A50=B1:B50,1,0)) vào bất kỳ ô nào, sau đó
nhấn tổ hợp phím Ctrl + Shift + Enter để thực thi công thức.
Nếu kết quả là 1, nghĩa là giá trị trong các vùng không giống nhau Nếu kết quả là 0, nghĩa là giá trị trong các vùng hoàn toàn giống nhau
Trường hợp các vùng này ở những bảng tính khác nhau, chỉ cần đặt trước địa chỉ vùng
tên bảng tính,sau đó là một dấu chấmthan(!)(vidụ:Sum(if(sheet1!A1:A50=sheet2! B1:B50,0,1)).
II/ VÍ DỤ ỨNG DỤNG
VÍ DỤ 1
Trang 11a Tính tổng Thực lãnh của những người có Ngày công lớn hơn 25.
Bạn nhập vào công thức mảng như sau
=SUM(IF(D3:D9>25,1,0)*E3:E9)
Sau khi nhập xong công thức,nhấn tổ hợp phím Ctrl + Shift +Enter lập
công thức sẽ được bao bởi 2 dấu ngoặc nhọn:
{=SUM(IF(D3:D9>25,1,0)*E3:E9)}
Kết quả cho là 29.100
b Sử dụng toán tử OR trong công thức mảng.
Giả sử yêu cầu của bài toán là: Tính tổng Thực lãnh của những người có
Ngày công là 25 hoặc Ngày công là 26.Thực hiện như sau:
Nhập công thức mảng:
=SUM(IF((D3:D9=25)+(D3:D9=26),1,0)*E3:E9)
Nhấn tổ hợp phím Ctrl + Shift + Enter ,sau khi nập xong công thức
Kết quả xuất hiện là 58,100
Lưu ý: Dấu (+) trong công thức trên thể hiện điều kiện OR (hoăc).
c Sử dụng toán tử AND trong công thức mảng.
Giả sử yêu cầu của bài toán là: Tính tổng Thực lãnh của những người có
Ngày công là 25 hoặc LCB là 500.Thực hiện như sau:
Nhập vào công thức mảng:
=SUM(IF((C3:C9=500)*(D3:D9=25),1,0)*E3:E9)
Nhấn tổ hợp phím Ctrl +Shift + Enter,sau khi nhập xong công thức
Kết quả xuất hiện là 25,000
Lưu ý: dấu (*) trong công thức trên thể hiện điều kiện AND (và).
Khi sử dụng công thức mảng cần lưu ý: Kết thúc công thức mảng phải dùng tổ
hợp phím Ctrl + Shift + Enter để tạo ra cặp dáu ngoặc nhọn { } Đây là
dấu hiệu để Excel nhận biết công thức mảng, bạn không được gõ cặp dấu ngoặc này từ bàn phím Khi muốn sửa đổi công thức , nên nhấp chuột lên
Trang 12thanh công thức để chỉnh sửa sau đó nhấn tổ hợp phím Ctrl + Shift +
Enter.
Ví dụ 2
Tính tổng tiền các sản phẩm là “kẹo” mà nhân viên “Hoa” bán được
Trang 13MỤC LỤC
I/CÔNG THỨC MẢNG (ARRAY FORMULAS) 4
1)Các khái niệm về công thức mảng 4
2)Công thức mảng trả về kết quả một vùng nhiều ô 4
3)Công thức mảng trả về kết quả một ô 6
4)Mảng một chiều 8
5)Mảng hai chiều 8
6)Mảng lỗi 9
II/VÍ DỤ ỨNG DỤNG 10
VÍ DỤ 1 10
.