Array Functions

Phân loại này chứa những hàm mảng.

Mảng là gì vậy?

Mảng là một phạm vi các ô đã liên kết trên một bảng tính mà chứa giá trị. Một phạm vi hình vuông có 3 hàng và 3 cột là một mảng 3×3:

A

B

C

1

7

31

33

2

95

17

2

3

5

10

50


Mảng nhỏ nhất có thể là một mảng 1×2 hay 2×1 có hai ô kề nhau.

Công thức mảng là gì vậy?

Một công thức trong đó tính riêng mỗi giá trị trong một phạm vi các ô thì được gọi như là một công thức mảng. Sự khác nhau giữa công thức kiểu mảng và công thức kiểu khác là công thức mảng xử lý đồng thời vài giá trị, thay vào chỉ xử lý một giá trị mỗi lần.

Một tiến trình công thức mảng không chỉ có thể xử lý đồng thời vài giá trị, nó cũng có thể trả về đồng thời vài giá trị. Kết quả của một công thức mảng cũng là một mảng.

To multiply the values in the individual cells by 10 in the above array, you do not need to apply a formula to each individual cell or value. Instead you just need to use a single array formula. Select a range of 3 x 3 cells on another part of the spreadsheet, enter the formula =10*A1:C3 and confirm this entry using the key combination + Shift + Enter. The result is a 3 x 3 array in which the individual values in the cell range (A1:C3) are multiplied by a factor of 10.

Thêm vào dấu nhân, bạn cũng có thể sử dụng các toán tử khác với phạm vi tham chiếu (một mảng). Dùng LibreOffice Calc, bạn có thể cộng (+), trừ (-), nhân (*), chia (/), lũy thừa (^), ghép nối (&) và so sánh (=, <>, <, >, <=, >=). Toán tử như vậy có thể được dùng với mỗi giá trị trong phạm vi ô, và trả về kết quả dạng mảng nếu công thức mảng được nhập vào.

Toán tử so sánh trong một công thức mảng thì xử lý ô rỗng bằng cùng một cách với công thức bình thường: hoặc là số không hoặc là một chuỗi rỗng. Ví dụ, nếu hai ô A1 và A2 còn rỗng, hai công thức mảng {=A1:A2=""}{=A1:A2=0} đều sẽ trả về một mảng các ô (1 cột và 2 hàng) chứa TRUE (đúng).

Khi nào nên dùng công thức mảng?

Hãy sử dụng công thức mảng nếu bạn cần phải lặp lại phép tính dùng các giá trị khác nhau. Nếu bạn quyết định nên thay đổi phương pháp tính về sau, chỉ cần cập nhật công thức mảng. Để thêm một công thức mảng, lựa chọn toàn bộ phạm vi mảng, sau đó sửa đổi công thức mảng như thích hợp.

Công thức mảng chỉ tiết kiệm sức chứa khi cần phải tính vài giá trị, vì nó không sử dụng rất nhiều bộ nhớ. Hơn nữa, mảng là một công cụ chủ yếu để thực hiện phép tính phức tạp, vì bạn có thể bao gồm vài phạm vi ô khác nhau trong phép tính. LibreOffice có một số hàm toán học khác nhau cho mảng, ví dụ hàm MMULT để nhân với nhau hai mảng, hay hàm SUMPRODUCT để tính tổng vô hướng của hai mảng.

Sử dụng Công thức Mảng trong LibreOffice Calc

Bạn cũng có thể tạo một công thức « bình thường » trong đó phạm vi tham chiếu, v.d. tham số, ngụ ý một công thức mảng. Kết quả được lấy từ giao của phạm vi tham chiếu và các hàng/cột chứa công thức. Không có giao, hoặc nếu phạm vi ở giao chứa vài hàng/cột, thì một thông điệp lỗi #VALUE! xuất hiện. Mẫu ví dụ theo đây minh hoạ khái nhiệm này:

Tạo công thức mảng

Nếu bạn tạo một công thức mảng dùng Trợ lý Hàm, bạn cần phải bật tùy chọn Mảng mỗi lần để trả về kết quả dạng mảng. Không thì chỉ trả về giá trị trong ô trên bên trái của mảng đang tính.

If you enter the array formula directly into the cell, you must use the key combination Shift + + Enter instead of the Enter key. Only then does the formula become an array formula.

note

Trong chương trình LibreOffice Calc, công thức mảng nằm trong dấu ngoặc móc. Tuy nhiên, bạn không thể tạo công thức mảng bằng cách tự gõ dấu ngoặc móc.


warning

Những ô trong một phạm vi kết quả được tự động bảo vệ khỏi thay đổi. Tuy nhiên, bạn vẫn còn có thể chỉnh sửa công thức mảng bằng cách lựa chọn toàn bộ phạm vi ô mảng.


Sử dụng Hằng số Mảng Trực tiếp trong Công thức

Trình Calc hỗ trợ hằng số kiểu ma trận/mảng trực tiếp trong công thức. Một mảng trực tiếp {được bao quanh bởi dấu ngoặc móc}. Mỗi phần tử có thể là một con số (gồm có số âm), một hằng số lôgic (TRUE (đúng), FALSE (sai)), hoặc một chuỗi nghĩa chữ. Không cho phép dùng biểu thức không phải hằng số. Có thể nhập mảng có một hay nhiều hàng/cột. Mọi hàng đều phải có cùng một số phần tử ; mọi cột đều phải chứa cùng một số phần tử.

The column separator (separating elements in one row) and the row separator are language and locale dependent. But in this help content, the ';' semicolon and '|' pipe symbol are used to indicate the column and row separators, respectively. For example, in the English locale, the ',' comma is used as the column separator, while the ';' semicolon is used as the row separator.

tip

You can view and change the row and column separator in - Calc - Formula - Separators.


Không thể lồng nhau các mảng.

Ví dụ :

={1;2;3}

Một mảng có một hàng chứa ba số 1, 2, 3.

To enter this array constant, you select three cells in a row, then you type the formula ={1;2;3} using the curly braces and the semicolons, then press + Shift + Enter.

={1;2;3|4;5;6}

Một mảng có hai hàng, mỗi hàng chứa ba giá trị.

={0;1;2|FALSE;TRUE;"hai"}

Một mảng dữ liệu hỗn hợp.

=SIN({1;2;3})

Khi nhập dưới dạng một công thức mảng, nó trả về kết quả của ba phép tính SIN với đối số 1, 2, 3.

Chỉnh sửa Công thức Mảng

  1. Select the cell range or array containing the array formula. To select the whole array, position the cell cursor inside the array range, then press + /, where / is the Division key on the numeric keypad.

  2. Either press F2 or position the cursor in the input line. Both of these actions let you edit the formula.

  3. After you have made changes, press + Shift + Enter.

tip

Bạn có khả năng định dạng các phần khác nhau của một mảng. Ví dụ, bạn có thể thay đổi màu phông chữ. Lựa chọn một phạm vi các ô, sau đó sửa đổi các thuộc tính đã muốn.


Sao chép Công thức Mảng

  1. Lựa chọn phạm vi ô hay mảng chứa công thức mảng.

  2. Either press F2 or position the cursor in the input line.

  3. Copy the formula into the input line by pressing + C.

  4. Select a range of cells where you want to insert the array formula and either press F2 or position the cursor in the input line.

  5. Paste the formula by pressing + V in the selected space and confirm it by pressing + Shift + Enter. The selected range now contains the array formula.

Điều chỉnh một phạm vi mảng

Muốn chỉnh sửa mảng kết xuất thì làm hành động theo đây:

  1. Lựa chọn phạm vi ô hay mảng chứa công thức mảng.

  2. Bên dưới vùng chọn, bên phải, bạn thấy một biểu tượng nhỏ cho phép bạn phóng to hay thu nhỏ phạm vi dùng con chuột.

note

Khi bạn điều chỉnh phạm vi mảng, công thức mảng sẽ không phải được tự động điều chỉnh. Bạn chỉ đang thay đổi phạm vi trong đó kết quả sẽ xuất hiện.


By holding down the key, you can create a copy of the array formula in the given range.

Phép tính Mảng Điều kiện

Một phép tính mảng điều kiện là một mảng hay công thức ma trận mà bao gồm một hàm kiểu IF() hay CHOOSE(). Đối số điều kiện trong công thức là một tham chiếu diện tích hay một kết quả ma trận.

Trong mẫu thí dụ theo đây, phần thử >0 cua công thức {=IF(A1:A3>0;"có";"không")} được áp dụng cho mỗi ô trong phạm vi A1:A3, sau đó kết quả được sao chép vào ô tương ứng.

A

B (công thức)

B (kết quả)

1

1

{=IF(A1:A3>0;"có";"không")}

2

0

{=IF(A1:A3>0;"có";"không")}

không

3

1

{=IF(A1:A3>0;"có";"không")}


Theo đây có những hàm cung cấp chức năng quản lý mảng bị ép buộc CORREL, COVAR, FORECAST, FTEST, INTERCEPT, MDETERM, MINVERSE, MMULT, MODE, PEARSON, PROB, RSQ, SLOPE, STEYX, SUMPRODUCT, SUMX2MY2, SUMX2PY2, SUMXMY2, TTEST. Nếu bạn sử dụng tham chiếu diện tích làm đối số khi gọi một của những hàm này, thì hàm ứng xử như hàm mảng. Bảng sau cung cấp mẫu thí dụ về quản lý mảng bị ép buộc:

A

B (công thức)

B (kết quả)

C (công thức mảng bị ép buộc)

C (kết quả)

1

1

=A1:A2+1

2

=SUMPRODUCT(A1:A2+1)

5

2

2

=A1:A2+1

3

=SUMPRODUCT(A1:A2+1)

5

3

=A1:A2+1

#VALUE!

=SUMPRODUCT(A1:A2+1)

5


TRANSPOSE

Chuyển vị các hàng và cột của một mảng.

Syntax

TRANSPOSE(Mảng)

Mảng đại diện mảng trên bảng tính mà cần phải được chuyển vị.

note

Ở đầu của trang này, bạn có thể tìm thấy một giới thiệu chung về sử dụng các hàm Mảng như thế nào.


Example

In the spreadsheet, select the range in which the transposed array can appear. If the original array has n rows and m columns, your selected range must have at least m rows and n columns. Then enter the formula directly, select the original array and press . Or, if you are using the Function Wizard, mark the Array check box. The transposed array appears in the selected target range and is protected automatically against changes.

A

B

C

D

1

2

3

4

5

2

6

7

8

9


The above table is 2 rows, 4 columns. In order to transpose it, you must select 4 rows, 2 columns. Assuming you want to transpose the above table to the range A7:B10 (4 rows, 2 columns) you must select the entire range and then enter the following:

TRANSPOSE(A1:D2)

Then make sure to enter it as matrix formula with . The result will be as follows:

A

B

7

2

6

8

3

7

9

4

8

10

5

9


SUMXMY2

Cộng lại bình phương của phương sai giữa các giá trị tương ứng trong hai mảng.

Syntax

SUMXMY2(MảngX; MảngY)

MảngX đại diện mảng thứ nhất có các phần tử cần bình phương và trừ lại.

MảngY đại diện mảng thứ hai có các phần tử cần bình phương và trừ lại.

More explanations on top of this page.

LOGEST

Hàm này tính sự điều chỉnh dữ liệu đã nhập dưới dạng một đường cong hồi quy theo luật số mũ (y=b*m^x).

Syntax

LOGEST(DataY [; DataX [; FunctionType [; Stats]]])

Dữ_liệuY đại diện mảng Dữ liệu Y.

Dữ_liệuX (tùy chọn) đại diện mảng Dữ liệu X.

Kiểu_hàm (tùy chọn): nếu kiểu hàm là 0 thì tính hàm theo dạng « y = m^x »; không thì tính hàm dạng « y = b*m^x ».

Thống_kê (tùy chọn): nếu thống kê là 0, thì chỉ tính hệ số hồi quy.

In the LibreOffice Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

Example

Xem LINEST. Tuy nhiên, không có tổng số bình phương sẽ được trả về.

FREQUENCY

Indicates the frequency distribution in a one-column-array. The function counts the number of values in the Data array that are within the values given by the Classes array.

Syntax

FREQUENCY(Dữ liệu; Hạng)

Dữ liệu đại diện tham chiếu đến những giá trị cần đếm.

Hạng đại diện mảng của các giá trị hạn chế.

note

Bạn có thể tìm một giới thiệu chung về các hàm Mảng ở đầu của trang này.


Example

Trong bảng theo đây, cột A liệt kê các giá trị đo chưa sắp xếp. Cột B chứa giới hạn trên bạn đã nhập cho các hàng, cho đó bạn muốn chia dữ liệu trong cột A. Tùy theo giới hạn được nhập vào ô B1, hàm FREQUENCY trả về số giá trị đã đo mà nhỏ hơn hay bằng với 5. Vì giới hạn trong B1 là 10, hàm FREQUENCY trả về kết quả thứ hai như số giá trị đã đo mà lớn hơn 5 và nhỏ hơn hay bằng với 10. Chuỗi bạn đã nhập vào B6 (« >25 ») chỉ cho mục đích tham chiếu.

A

B

C

1

12

5

1

2

8

10

3

3

24

15

2

4

11

20

3

5

5

25

1

6

20

>25

1

7

16

8

9

9

7

10

16

11

33


Chọn một phạm vi cột riêng lẻ vào đó cần nhập tần sô theo các giới hạn hạng. Bạn phải chọn một trường vượt quá hạn ngạch hạng đó. Trong mẫu thí dụ này, hãy chọn phạm vi C1:C6. Gọi hàm FREQUENCY trong Trợ lý Hàm. Chọn phạm vi Dữ liệu (A1:A11), sau đó phạm vi Hạng vào đó bạn đá nhập các giới hạn hạng (B1:B6). Bật tùy chọn Mảng, sau đó bấm nút OK. Bạn sẽ thấy số đếm tần số trong phạm vi C1:C6.

More explanations on top of this page.

SUMPRODUCT

Nhân với nhau các phần tử tương ứng trong những mảng đã cho, sau đó trả về tổng số các tích đó..

Syntax

SUMPRODUCT(Array 1[; Array 2;][...;[Array 255]])

Array 1[; Array 2;][...;[Array 255]] represent arrays whose corresponding elements are to be multiplied.

At least one array must be part of the argument list. If only one array is given, all array elements are summed. If more than one array is given, they must all be the same size.

Example

A

B

C

D

1

2

3

4

195

2

6

7

8

9

3

10

11

12

13


=SUMPRODUCT(A1:B3;C1:D3) trả về 397.

Phép tính: A1*C1 + B1*D1 + A2*C2 + B2*D2 + A3*C3 + B3*D3

Bạn có thể sử dụng hàm SUMPRODUCT để tính tích vô hướng hai véc-tơ.

note

Hàm SUMPRODUCT trả về một số riêng lẻ; không cần nhập hàm dưới dạng một hàm mảng.


More explanations on top of this page.

TREND

Trả về các giá trị dọc theo một xu hướng tuyến tính.

Syntax

TREND(DataY [; DataX [; NewDataX [; LinearType]]])

Dữ_liệuY đại diện mảng Dữ liệu Y.

Dữ_liệuX (tùy chọn) đại diện mảng Dữ liệu X.

Dữ_liệuX_Mới (tùy chọn) đại diện mảng của các dữ liệu X, mà được dùng để tính lại các giá trị.

LinearType (optional). If LinearType = 0, then lines will be calculated through the zero point. Otherwise, offset lines will also be calculated. The default is LinearType <> 0.

In the LibreOffice Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

Example

Select a spreadsheet range in which the trend data will appear. Select the function. Enter the output data or select it with the mouse. Mark the Array field, click OK. The trend data calculated from the output data is displayed.

MINVERSE

Trả về mảng ngược.

Syntax

MINVERSE(Mảng)

Mảng đại diện một mảng vuông cần đảo ngược.

More explanations on top of this page.

Example

Lựa chọn một phạm vi vuông, sau đó chọn hàm MINVERSE. Chọn phạm vi kết xuất, chọn trường Mảng, sau đó bấm nút OK.

MUNIT

Trả về mảng vuông thuộc về đơn vị theo một kích cỡ nào đó. Mảng unita là một mảng vuông trong đó những phần tử chéo chính bằng với 1, và các phần tử mảng khác bằng với 0.

Syntax

MUNIT(Các_chiều)

Các_chiều tham chiếu đến kích cỡ của đơn vị mảng.

note

Bạn có thể tìm một giới thiệu chung về các hàm Mảng ở đầu của trang này.


Example

Chọn một phạm vi hình vuông trên bảng tính, v.d. từ ô A1 đến ô E5.

Không bỏ chọn phạm vi, cũng lựa chọn hàm MUNIT. Bật tùy chọn Mảng. Nhập các chiều đã muốn cho mảng, trong trường hợp này 5, sau đó bấm nút OK.

You can also enter the =MUNIT(5) formula in the last cell of the selected range (E5), and press .

Vậy bạn thấy một mảng đơn vị có phạm vi A1:E5.

More explanations on top of this page.

LINEST

Trả về một bảng chứa các giá trị thống kê cho một đường thẳng phù hợp nhất với tập dữ liệu đã nhập.

Syntax

LINEST(data_Y [; data_X [; linearType [; stats]]])

Dữ_liệu_Y Là một hàng riêng lẻ hoặc một khoảng theo cột chứa tọa độ y trong tập hợp các dữ liệu về điểm.

Dữ_liệu_X là một hàng lẻ hoặc một khoảng cột chứa tọa độ trục x. Nếu xác định data_X thì mặc định trục x sẽ nhận giá trị từ 1, 2, 3, ..., n. Nếu có nhiều hơn một tập các biến, dữ_liệu_X có thể là một khoảng chứa các hàng và cột chỉ định.

LINEST tìm đường thẳng có dạng y = a + bx phù hợp nhất với dữ liệu đã cho, sử dụng hồi quy tuyến tính (phương pháp "ít ô vuông nhất"). Với nhiều hơn một tập các biến, đường thẳng có dạng y = a + b1x1 + b2x2 ... + bnxn.

If linearType is FALSE the straight line found is forced to pass through the origin (the constant a is zero; y = bx). If omitted, linearType defaults to TRUE (the line is not forced through the origin).

If stats is omitted or FALSE only the top line of the statistics table is returned. If TRUE the entire table is returned.

LINEST returns a table (array) of statistics as below and must be entered as an array formula (for example by using + Shift + Return rather than just Return).

In the LibreOffice Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

Example

Hàm này trả về một mảng, và được xử lý bằng cùng một cách với các hàm mảng khác. Hãy lựa chọn một phạm vi cho kết xuất, và chọn hàm. Chọn dữ liệu trục Y . Bạn cũng có thể nhập tham số khác. Bật tùy chọn Mảng, sau đó bấm nút OK.

Kết quả được hệ thống trả về (nếu Thống Kê = 0), sẽ có ít nhất sự hiển thị dốc của đường hồi quy và điểm giao của nó và trục Y. Nếu Thống Kê không phải là 0 thì hiển thị kết quả khác.

Kết quả LINEST khác:

Xem những mẫu thí dụ theo đây:

A

B

C

D

E

F

G

1

x1

x2

y

195

2

4

7

100

4,17

-3,48

82,33

3

5

9

105

5,46

10,96

9,35

4

6

11

104

0,87

5,06

#NA

5

7

12

108

13,21

4

#NA

6

8

15

111

675,45

102,26

#NA

7

9

17

120

8

10

19

133


Cột A chứa vài giá trị X1, cột B chứa vài giá trị X2, và cột C chứa những giá trị Y. Bạn đã nhập các giá trị này vào bảng tính. Bạn đã thiết lập E2:G6 trên bảng tính và kích hoạt Trợ lý Hàm. Để sử dụng hàm LINEST, bạn cần phải bật tùy chọn Mảng trong Trợ lý Hàm. Sau đó thì chọn những giá trị theo đây trong bảng tính (hoặc nhập chúng dùng bàn phím):

Dữ_liệu_Y là C2:C8

Dữ_liệu_Y là A2:B8

Cả hai biến Kiểu_tuyến_tínhThống_kê đều được đặt thành 1.

Một khi bạn bấm nút OK, LibreOffice Calc sẽ điền mẫu thí dụ trên bằng những giá trị LINEST, như được hiển thị trong ví dụ.

The formula in the Formula bar corresponds to each cell of the LINEST array {=LINEST(C2:C8;A2:B8;1;1)}.

Đây đại diện những giá trị LINEST đã tính:

E2 và F2: Dốc m của đường hồi quy « y=b+m*x » cho các giá trị x1 và x2. Các giá trị đưa ra theo thứ tự ngược, tức là dốc cho x2 trong E2, và dốc cho x1 trong F2.

G2: điểm giao b với trục y.

E3 và F3: Lỗi tiêu chuẩn của giá trị dốc.

G3: lỗi tiêu chuẩn của phần bị chắn

E4: RSQ

F4: lỗi tiêu chuẩn của hồi quy được tính cho giá trị Y.

E5: giá trị F từ sự phân tích phương sai.

F5: bậc tự do từ sự phân tích phương sai.

E6: tổng sự lệch bình phương của những giá trị Y đã ước lượng từ số trung bình tuyến tính của chúng.

F6: tổng sự lệch bình phương của giá trị Y đã ước lượng từ những giá trị Y đã cho.

More explanations on top of this page.

SUMX2MY2

Trả về tổng hiệu của các bình phương của những giá trị tương ứng trong hai mảng.

Syntax

SUMX2MY2(MảngX; MảngY)

MảngX đại diện mảng thứ nhất có các phần tử cần bình phương và cộng lại.

MảngX đại diện mảng thứ hai có các phần tử cần bình phương và trừ lại.

More explanations on top of this page.

SUMX2PY2

Trả về tổng tổng bình phương các giá trị tương ứng trong hai mảng.

Syntax

SUMX2PY2(MảngX; MảngY)

MảngX đại diện mảng thứ nhất có các phần tử cần bình phương và cộng lại.

MảngX đại diện mảng thứ hai có các phần tử cần bình phương và trừ lại.

More explanations on top of this page.

MDETERM

Trả về định thức của một mảng. Hàm này trả về một giá trị trong ô hiện tại; không cần xác định một phạm vi cho kết quả.

Syntax

MDETERM(Mảng)

Mảng đại diện một mảng vuông trong đó xác định những định thức.

note

You can find a general introduction to using Array functions on top of this page.


More explanations on top of this page.

GROWTH

Tính các điểm của một xu hướng theo luật số mũ trong một mảng.

Syntax

GROWTH(DataY [; DataX [; NewDataX [; FunctionType]]])

Dữ_liệuY đại diện mảng Dữ liệu Y.

Dữ_liệuX (tùy chọn) đại diện mảng Dữ liệu X.

Dữ_liệuX_mới; (tùy chọn) đại diện mảng dữ liệu X, trong đó các giá trị được tính lại.

FunctionType (optional). If FunctionType = 0, functions in the form y = m^x will be calculated. Otherwise, y = b*m^x functions will be calculated.

In the LibreOffice Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

Example

This function returns an array and is handled in the same way as the other array functions. Select a range where you want the answers to appear and select the function. Select DataY. Enter any other parameters, mark Array and click OK.

MMULT

Tính tích mảng của hai mảng. Số cột của mảng 1 phải tương ứng với số hàng của mảng 2. Mảng vuông thì có cùng một số cột và hàng.

Syntax

MMULT(Array 1; Array 2)

Array 1 represents the first array used in the array product.

Array 2 represents the second array with the same number of rows.

note

More explanations on top of this page.


Example

Select a square range. Choose the MMULT function. Select Array 1, then select Array 2. Using the Function Wizard, mark the Array check box. Click OK. The output array will appear in the first selected range.

Please support us!