- Tham gia
- 30/5/06
- Bài viết
- 1,630
- Được thích
- 17,440
- Nghề nghiệp
- Bác sĩ
Tìm hiểu về Mảng và công thức mảng
Phần 1 : Mảng một chiều, mảng hai chiều và hằng mảng
1/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 thẳng đứng)
Các phần tử trong một 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 mảng thẳng đứng được cách nhau bằng dấu chấm phẩy
Td : {1,2,3,4,5} (mảng ngang ) và {10;20;30;40;50} (mảng thẳng đứng)
Hay {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"} (phần tử là Text dạng chuỗi)
Để hiển thị một mảng một chiều 5 phần tử theo dạng ngang hay thẳng đứng, ta cần 5 ô liên tục trên cùng một hàng hay một cột
Td : Ta chọn 5 ô từ A1:E1, nhập : ={1,2,3,4,5} và nhấn Ctrl+Shift+Enter
Hoặc chọn 5 ô từ A1:A5, nhập : ={1;2;3;4;5} và nhấn Ctrl+shift+Enter
Các phần tử trong mảng sẽ lần lượt được nhập vào 5 ô liên tục theo thứ tự trong mảng
Nếu trong mảng chỉ có 5 phần tử nhưng ta chọn 6 ô để nhập mảng thì ô thứ 6 sẽ cho giá trị #N/A
2/Mảng hai chiều :
Mảng hai chiều là một 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 các 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
Td : {1,2,3,4;5,6,7,8;9,10,11,12}
Để hiển thị mảng này, ta chọn vùng A1 : D3, nhập :
={1,2,3,4;5,6,7,8;9,10,11,12} và nhấn Ctrl+Shift+Enter
Cũng vậy, nếu bạn 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 ô trống còn lại
3/Hằng mảng :
Bạn có thể tạo một hằng mảng, đặt cho nó một cái tên, sau đó sử dụng mảng được đặt tên này cho công thức.
Td : Ta có hằng mảng như sau : {1,0,1,0,1}. Công thức sau sử dụng hàm SUM với hằng mảng đứng trước là đối số của nó. Công thức trả về tổng của các giá trị trong mảng (ở đây là 3). Công thức này sử dụng mảng là đối số nhưng không phải là công thức mảng : =SUM({1,0,1,0,1}). Công thức này cùng kết quả với công thức sau : =SUM(1,0,1,0,1)
Vào thời điểm này, có thể bạn chưa thấy ưu điểm của việc sử dụng hằng mảng.
Công thức sau sử dụng hai hằng mảng :
=SUM({1,2,3,4}*{5,6,7,8}).
Công thức này sẽ tạo ra một mảng mới như sau :{5,12,21,32}
Sau đó, mảng này lại là đối số cho hàm SUM và cho ra kết quả là 70
Bạn sẽ thấy công thức trên tương tự như công thức sau :
=SUM(1*5,2*6,3*7,4*8)
Một hằng mảng sẽ không chứa các công thức, các hàm, các giá trị có chứa dấu dollar, dấu phẩy, chấm phẩy...Sau đây là một hằng mảng không hợp lệ :
{SUM(3,2),$56,12,5%}
Việc đặt tên cho hằng mảng được thông qua hộp thọai Insert/Name/Define
Tên của mảng đặt tại hộp Name : DayNames
Tại hộp Refers to ta đặt dấu ={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}
Nếu bây giờ, ta chọn dãy A1:G1 và nhập công thức mảng sau :{=DayNames}, ta sẽ thấy các phần tử của mảng lần lượt hiện ra trong các ô này.
Để chuyển mảng này thành mảng dọc, ta dùng công thức :
={TRANSPOSE(DayNames)}
Để truy cập từng phần tử riêng lẻ của mảng, ta dùng hàm :
=INDEX(DayNames,4) sẽ cho kết quả là Wed.
Phần 1 : Mảng một chiều, mảng hai chiều và hằng mảng
1/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 thẳng đứng)
Các phần tử trong một 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 mảng thẳng đứng được cách nhau bằng dấu chấm phẩy
Td : {1,2,3,4,5} (mảng ngang ) và {10;20;30;40;50} (mảng thẳng đứng)
Hay {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"} (phần tử là Text dạng chuỗi)
Để hiển thị một mảng một chiều 5 phần tử theo dạng ngang hay thẳng đứng, ta cần 5 ô liên tục trên cùng một hàng hay một cột
Td : Ta chọn 5 ô từ A1:E1, nhập : ={1,2,3,4,5} và nhấn Ctrl+Shift+Enter
Hoặc chọn 5 ô từ A1:A5, nhập : ={1;2;3;4;5} và nhấn Ctrl+shift+Enter
Các phần tử trong mảng sẽ lần lượt được nhập vào 5 ô liên tục theo thứ tự trong mảng
Nếu trong mảng chỉ có 5 phần tử nhưng ta chọn 6 ô để nhập mảng thì ô thứ 6 sẽ cho giá trị #N/A
2/Mảng hai chiều :
Mảng hai chiều là một 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 các 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
Td : {1,2,3,4;5,6,7,8;9,10,11,12}
Để hiển thị mảng này, ta chọn vùng A1 : D3, nhập :
={1,2,3,4;5,6,7,8;9,10,11,12} và nhấn Ctrl+Shift+Enter
Cũng vậy, nếu bạn 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 ô trống còn lại
3/Hằng mảng :
Bạn có thể tạo một hằng mảng, đặt cho nó một cái tên, sau đó sử dụng mảng được đặt tên này cho công thức.
Td : Ta có hằng mảng như sau : {1,0,1,0,1}. Công thức sau sử dụng hàm SUM với hằng mảng đứng trước là đối số của nó. Công thức trả về tổng của các giá trị trong mảng (ở đây là 3). Công thức này sử dụng mảng là đối số nhưng không phải là công thức mảng : =SUM({1,0,1,0,1}). Công thức này cùng kết quả với công thức sau : =SUM(1,0,1,0,1)
Vào thời điểm này, có thể bạn chưa thấy ưu điểm của việc sử dụng hằng mảng.
Công thức sau sử dụng hai hằng mảng :
=SUM({1,2,3,4}*{5,6,7,8}).
Công thức này sẽ tạo ra một mảng mới như sau :{5,12,21,32}
Sau đó, mảng này lại là đối số cho hàm SUM và cho ra kết quả là 70
Bạn sẽ thấy công thức trên tương tự như công thức sau :
=SUM(1*5,2*6,3*7,4*8)
Một hằng mảng sẽ không chứa các công thức, các hàm, các giá trị có chứa dấu dollar, dấu phẩy, chấm phẩy...Sau đây là một hằng mảng không hợp lệ :
{SUM(3,2),$56,12,5%}
Việc đặt tên cho hằng mảng được thông qua hộp thọai Insert/Name/Define
Tên của mảng đặt tại hộp Name : DayNames
Tại hộp Refers to ta đặt dấu ={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}
Nếu bây giờ, ta chọn dãy A1:G1 và nhập công thức mảng sau :{=DayNames}, ta sẽ thấy các phần tử của mảng lần lượt hiện ra trong các ô này.
Để chuyển mảng này thành mảng dọc, ta dùng công thức :
={TRANSPOSE(DayNames)}
Để truy cập từng phần tử riêng lẻ của mảng, ta dùng hàm :
=INDEX(DayNames,4) sẽ cho kết quả là Wed.