試算表函數

From LibreOffice Help
Jump to: navigation, search

本節包括試算表函數的描述,並提供相關範例。

[插入] - [函數] - [類別] [試算表]

GETPIVOTDATA

GETPIVOTDATA 函式會從樞紐分析表回傳結果值。該值是使用欄位與項目名稱處理的,因此即使樞紐分析表的配置有所改變,數值仍會有效。

語法

可以使用兩種不同的語法定義:

GETPIVOTDATA(TargetField; pivot table; [ Field 1; Item 1; ... ])

GETPIVOTDATA(pivot table; Constraints)

第二個語法假設實際提供兩個參數,其中第一個參數為儲存格或儲存格範圍參照。第一個語法假設所有其他情況。[函數精靈] 顯示第一個語法。

第一個語法

TargetField 是用來選取樞紐分析表資料欄位之一的字串。該字串可以是來源欄的名稱,或是如表格內顯示的資料欄位名稱 (像是「Sum - Sales」)。

樞紐分析表 是位於樞紐分析表內,或包含樞紐分析表的儲存格或儲存格範圍參照。如果如果儲存格範圍包含多個樞紐分析表,則會使用最後建立的表格。

如果沒有給予 欄位 n/ 項目 n 的配對,則回傳總計。否則,每一對會加入一個結果必須滿足的限制。欄位 n 是樞紐分析表中的欄位名稱。項目 n 是該欄位中某個項目的名稱。

如果樞紐分析表僅包含單一個滿足所有限制的結果數值,或是個將所有符合數值總結的小計結果,則回傳該結果。如果沒有符合的結果,或是有數個符合結果但它們卻沒有小計,則回傳錯誤。這些條件適用於包含在樞紐分析表中的結果。

如果來源資料包含樞紐分析表設定隱藏的條目,則它們會被忽略。欄位/項目 對的順序並不重要。欄位與項目名稱不區分字母大小寫。

如果沒有給予頁面欄位的限制,則暗示使用欄位的選定值。如果有給予頁面欄位的限制,它必須符合欄位的選定值,否則會回傳錯誤。頁面欄位是位於樞紐分析表左上角的欄位,使用樞紐分析表版面配置對話方塊的「頁面欄位」區域填入。對於每個頁面欄位,可以選取某個項目 (值),代表僅有該項目包含在計算中。

僅在如果樞紐分析表的小計值使用「auto」函式時 (除非在限制中使用,請見下面的 第二個語法) 才能使用。

第二個語法

樞紐分析表 與第一個語法有相同的意思。

Constraints 是以空格分隔的清單。項目可加上引號 (單引號)。除非從其他儲存格參照字串,否則此字串的前後必須加上引號 (雙引號)。

條目之一可以作為資料欄位名稱。如果樞紐分析表僅包含一項資料欄位,則資料欄位可以略過不填,否則它必須出現。

每個其他的條目以 欄位[項目] 的形式指定限制 (使用 [ 與 ] 字符),或者,僅在如果項目名稱在樞紐分析表其所有的欄位中皆是獨一無二時,才可以直接使用 項目

函數名稱可使用格式 Field[Item;Function] 新增,以使限制僅符合使用該函數的小計值。可能的函數名稱包括 Sum、Count、Average、Max、Min、Product、Count (僅限數字)、StDev (取樣)、StDevP (總體基數)、Var (取樣) 與 VarP (總體基數),不區分大小寫。

VLOOKUP

參照右方相鄰的儲存格之垂直搜尋。此函數會檢查陣列的第一欄是否包含特定值。接著,此函數會傳回 Index 指定欄之同一列中的值。若忽略 SortOrder 參數,或將參數設定為 TRUE 或 1,則假定資料依向上排序。此時,如果找不到完全相符的 SearchCriterion,則會傳回比條件小的最後一個值。若將 SortOrder 設定為 FALSE 或零,則必須找到完全相符的項目,否則結果會是錯誤 Error: Value Not Available (錯誤:數值不存在)。因此,資料值若為零,則不需要依向上排序。

搜尋可支援常規表示式。例如,您可以輸入「all.*」,尋找「all」開頭之任何字元首次出現的位置。若要搜尋本身也是常規表示式的文字,則必須在每個字元前加上 \ 字元。您可以在以下位置切換常規表示式的自動評估開關:[工具] - [選項] - [LibreOffice Calc] - [計算]

語法

=VLOOKUP(SearchCriterion; Array; Index; SortOrder)

SearchCriterion 是指在陣列第一欄中搜尋的值。

Array 是參照,至少包含兩欄。

Index 是陣列中的欄號,該陣列包含要傳回的值。第一欄的編號為 1。

SortOrder 是選用的參數,指出陣列中的第一欄是否向上排序。若第一欄未向上排序,請輸入布林值 FALSE 或零。搜尋排序過後的欄可更快速,且即使搜尋值未完全符合,只要該值介於排序清單的最低值與最高值之間,函數仍會一律傳回值。在未排序的清單中,搜尋值必須完全符合。否則函數會傳回訊息:錯誤:數值不存在

空白儲存格的處理方式

範例

您想要在儲存格 A1 中輸入菜單上某道佳餚的編號,螢幕上會立即在相鄰的儲存格 (B1) 中以文字顯示該佳餚的名稱。D1:E100 陣列中包含編號對名稱的指定。D1 包含 100,E1 包含名稱「蔬菜湯」,諸如此類等 100 種菜單項目。欄 D 中的數字會向上排序;因此,不需要選用的 SortOrder 參數。

請在 B1 中插入下列公式:

=VLOOKUP(A1;D1:E100;2)

只要您在 A1 中輸入編號,則在第二個參照欄 D1:E100 中所屬的文字便會顯示在 B1 中。如果您輸入一個不存在的編號,則文字會以下一個較小的編號顯示。如果不要如此,則請在公式中插入作為最後參數的 FALSE,如此一來,在輸入不存在編號時,便會出現錯誤報告。

COLUMNS

傳回給定參照中的欄數。

語法

COLUMNS(Array)

Array 是將求解總欄數之儲存格範圍的參照。引數也可以是單一儲存格。

範例

=COLUMNS(B5) 傳回 1,因為儲存格僅包含一欄。

=COLUMNS(A1:C5) 等於 3。參照包含三欄。

兔子 是已命名範圍 (C1:D3),則 =COLUMNS(兔子) 會傳回 2。

COLUMN

傳回儲存格參照的欄號。 如果參照是儲存格,則會傳回儲存格的欄號;如果參照是儲存格範圍,則以一列陣列 (如果公式作為陣列公式輸入)的形式傳回對應的欄號。如果具有區域參照參數的函數 COLUMN 未用於矩陣公式,則僅傳回此區域中第一個儲存格的欄號。

語法

COLUMN(Reference)

Reference 是指要求解第一欄數的儲存格或儲存格區域參照。

如果未指定參照,則會算出其中輸入公式的儲存格欄編號。LibreOffice Calc 會自動將參照設定在目前儲存格。

範例

=COLUMN(A1) 等於 1。欄 A 是表格中的第一欄。

=COLUMN(C3:E3) 等於 3。欄 C 是表格中的第三欄。

=COLUMN(D3:G10) 傳回 4,因為欄 D 是表格中的第四欄,且 COLUMN 函數未用作陣列公式。(在本例中,一律會以陣列的第一個值作為結果。)

{=COLUMN(B2:B7)}=COLUMN(B2:B7) 皆會傳回 2,因為參照僅包含欄 B 作為表格中的第二欄。由於單欄區域僅有一個欄號,因此公式是否用作陣列公式,並無任何差別。

若在欄 C 中輸入公式,則 =COLUMN() 會傳回 3。

若「兔子」是已命名區域 (C1:D3),則 {=COLUMN(兔子)} 會傳回單列陣列 (3, 4)。

INDIRECT

傳回文字字串指定的參照。此函數也可用於傳回對應字串的區域。

為了達成互通性,ADDRESS 及 INDIRECT 函數均支援選擇性的參數,該參數可指定是否應使用 R1C1 位址表示法,而非一般的 A1 表示法。

在 ADDRESS 中,此參數作為第四個參數插入,而選擇性的工作表名稱參數則會移到第五個位置。

在 INDIRECT 中,此參數會附加為第二個參數。

在這兩個函數中,若插入的引數值為 0,則使用 R1C1 表示法。若未指定引數或其值非 0,則使用 A1 表示法。

在使用 R1C1 表示法的情況下,ADDRESS 傳回位址字串時使用驚嘆號「!」作為工作表名稱的分隔符,INDIRECT 也需以驚嘆號作為工作表名稱分隔符。在 A1 表示法下,兩個函數仍使用點「.」作為工作表名稱分隔符。

開啟 ODF 1.0/1.1 格式的文件時,將工作表名稱顯示為第四個參數的 ADDRESS 函數,會將該工作表名稱移到第五個參數,並新插入值為 1 的第四個參數。

儲存 ODF 1.0/1.1 格式的文件時,若 ADDRESS 函數有第四個參數,該參數會遭移除。

Note.png 若 ADDRESS 函數新的第四個參數值為 0,則請勿以舊的 ODF 1.0/1.1 格式儲存試算表。
Note.png 儲存 INDIRECT 函數並不會轉換為 ODF 1.0/1.1 格式。若第二個參數存在,舊版的 Calc 會傳回該函數發生錯誤。

語法

INDIRECT(Ref; A1)

Ref 表示將傳回內容的儲存格或區域 (使用文字格式) 之參照。

A1 (選擇性) - 若設為 0,則使用 R1C1 表示法。若此參數不存在或設為非 0 值,則使用 A1 表示法。

Note.png 如果您開啟的 Excel 試算表是直接從字串函數來計算間接位址,便無法自動轉換試算表位址。例如,INDIRECT("filename!sheetname"&B1) 的 Excel 位址無法轉換成 INDIRECT("filename.sheetname"&B1) 的 Calc 位址。

範例

若 A1 包含 C108 作為參照且儲存格 C108 包含值 100,則 =INDIRECT(A1) 等於 100。

=SUM(INDIRECT("a1:" & ADDRESS(1;3))) 將 A1 區域的儲存格一直加總到由列 1 欄 3 定義之位址的儲存格。亦即區域 A1:C1 的總計。

INDEX

INDEX 傳回子範圍,此子範圍由列號與欄號或選用的範圍索引所指定。根據環境之不同,INDEX 會傳回參照或內容。

語法

INDEX(Reference; Row; Column; Range)

Reference 是指直接輸入或藉由指定範圍名稱所指定的參照。若參照包含多個範圍,則須以括號括住參照或範圍名稱。

Row (選擇性) 表示將傳回值之參照範圍的列索引。若是零 (未指定列),則傳回所有參照的列。

Column (選擇性) 表示將傳回值之參照範圍的欄索引。若是零 (未指定欄),則傳回所有參照的欄。

Range (選擇性) 表示參照多個範圍時,子範圍的索引。

範例

=INDEX(Prices;4;1) 從在 [資料] - [定義] 中定義為 [價格] 之資料庫範圍的列 4 欄 1 中傳回值。

=INDEX(SumX;4;1) 會如 [插入] - [名稱] - [定義] 中所定義,傳回範圍 SumX 在列 4 欄 1 中的值。

=INDEX(A1:B6;1) 傳回 A1:B6 第一列的參照。

=INDEX(A1:B6;0;1) 傳回 A1:B6 第一欄的參照。

=INDEX((multi);4;1) 表示 (多個) 範圍位於列 4 欄 1 內的數值;而名稱則是您從 [插入] - [名稱] - [定義] 將它們定義為 multi。多個範圍可能由數個矩形範圍構成,每個範圍皆有列 4,欄 1。若您現在想要呼叫第此多個範圍的第二區塊,請輸入數字 2 作為 range 參數。

=INDEX(A1:B6;1;1) 是指 A1:B6 範圍左上方的數值。

=INDEX((multi);0;0;2) 傳回多個範圍內第二個範圍的參照。

ERRORTYPE

傳回對應至發生在不同儲存格中 錯誤值的數字。利用此數字的協助,您可以產生錯誤訊息文字。

If an error occurs, the function returns a logical or numerical value.

Note.png 如果按一下含有錯誤的儲存格,狀態列會顯示 LibreOffice 中預先定義的錯誤代碼。

語法

ERRORTYPE(reference)

Reference 包含儲存格的位址,會於其中報告錯誤。

範例

若儲存格 A1 顯示 Err:518,則函數 =ERRORTYPE(A1) 會傳回數字 518。

DDE

傳回 DDE 基礎連結的結果。 如果連結區域或區段的內容變更,傳回的值也會變更。您必須重新載入試算表或選擇 [編輯] - [連結],以查看已更新的連結。不允許跨平台連結,例如從在 Windows 機器上執行的 LibreOffice 安裝連結至在 Linux 機器上建立的文件。

語法

DDE("Server"; "File"; "Range"; Mode)

Server is the name of a server application. LibreOfficeapplications have the server name "soffice".

File 是具有路徑的完整檔案名稱。

Range 是含有要評估之資料的區域。

Mode 是選用的參數,它可以控制資料如何從 DDE 伺服器轉換成數字。

Mode 效果
0 或缺少 「標準」儲存格樣式中的數字格式
1 資料會以美式英文的標準格式來解譯
2 以文字方式套用資料,而不用轉換成數字

範例

=DDE("soffice";"c:\office\document\data1.sxc";"sheet1.A1") 會讀取 LibreOffice Calc 試算表 data1.sxc 之「工作表1」儲存格 A1 的內容。

=DDE("soffice";"c:\office\document\motto.sxw";"今日的座右銘") 傳回包含此公式的儲存格中之座右銘。您必須先在包含座右銘文字的 motto.sxw 文件中輸入一行文字,並定義此行為今日的座右銘已命名區段的第一行 (在 LibreOffice Writer 的 [插入] - [區域] 下定義)。若修改 LibreOffice Writer 文件中的座右銘然後儲存,則所有定義此 DDE 連結的 LibreOffice Calc 儲存格皆會更新座右銘。

HYPERLINK

當您按一下包含 HYPERLINK 函數的儲存格,會開啟超連結。

若使用選擇性的 CellText 參數,公式會找出 URL 然後顯示文字或數字。

Tip.png 若要使用鍵盤開啟超連結的儲存格,選取儲存格後按下 F2 鍵以進入編輯模式,將游標移至超連結前面並按下 Shift+F10 組合鍵,然後選擇 [開啟超連結]

語法

HYPERLINK("URL") 或 HYPERLINK("URL"; "CellText")

URL 指定連結目標。選擇性的 CellText 參數是儲存格中顯示的文字或數字,且會傳回為結果。若尚未指定 CellText 參數,URL 會以儲存格文字顯示,並會顯示為結果。

為空儲存格和矩陣元素傳回數字 0。

範例

=HYPERLINK("http://www.example.org") 會在儲存格中顯示文字「http://www.example.org」,並在按一下時執行超連結 http://www.example.org。

=HYPERLINK("http://www.example.org";"按一下此處") 會在儲存格中顯示文字「按一下此處」,並在按一下時執行超連結 http://www.example.org。

=HYPERLINK("http://www.example.org";12345) 顯示數字 12345,並於按下時執行超連結 http://www.example.org。

=HYPERLINK($B4) 中的儲存格 B4 包含 http://www.example.org。此函數會將 http://www.example.org 增加至超連結儲存格的 URL,並傳回用作公式結果的相同文字。

=HYPERLINK("http://www.";"按一下 ") & "example.org" 會在儲存格中顯示文字「按一下 example.org」,並在按一下時執行超連結 http://www.example.org。

=HYPERLINK("#Sheet1.A1";"至頂端") 顯示文字「至頂端」,並跳至本文件中的儲存格「工作表1.A1」。

=HYPERLINK("file:///C:/writer.odt#Specification";"進入 Writer 書籤")顯示 [進入 Writer 書籤] 的文字,載入指定的文字文件並跳至書籤「Specification」。

AREAS

傳回屬於多個區域中個別區域的數字。 區域可以由相連的儲存格或單一儲存格組成。

函數需要單一引數。若您陳述多個範圍,則必須另以括號將其圍住。可使用分號 (;) 作為分隔輸入多個範圍,但這樣會自動轉換為波浪號 (~) 運算子。波浪號是用來連接範圍。

語法

AREAS(reference)

reference 為儲存格或儲存格區域的參照。

範例

=AREAS((A1:B3;F2;G1)) 當參照 3 個儲存格及/或區域時傳回 3。輸入此項目後即轉換成 =AREAS((A1:B3~F2~G1))。

若已在 [資料] - [定義範圍] 下,定義一個名為 All 的區域,則 =AREAS(All) 會傳回 1。

ROWS

傳回參照或陣列中的列數。

語法

ROWS(Array)

Array 是將決定總列數之已命名區域的參照。

範例

=Rows(B5) 傳回 1,因為儲存格僅包含一列。

=ROWS(A10:B12) 傳回 3。

若「兔子」是已命名區域 (C1:D3),則 =ROWS(兔子) 會傳回 3。

ROW

傳回儲存格參照的列號。 如果參照是儲存格,則會傳回儲存格的列號。如果參照是儲存格範圍,則以一欄陣列 (如果公式作為陣列公式輸入) 的形式傳回對應的列號 。如果具有範圍參照的 ROW 函數不在矩陣公式使用,則僅將傳回第一個範圍儲存格的列號。

語法

ROW(Reference)

Reference 是指儲存格、儲存格區域或區域名稱。

如果未指定參照,則會算出其中輸入公式的儲存格列編號。LibreOffice Calc 會自動將參照置於目前儲存格。

範例

=ROW(B3) 傳回 3,因為參照指向表格中的第三列。

{=ROW(D5:D8)} 傳回單欄陣列 (5、6、7、8),因為指定的參照包含列 5 到 8。

=ROW(D5:D8) 傳回 5,因為 ROW 函數未用作陣列公式,且僅會傳回參照第一列的列號。

{=ROW(A1:E1)}=ROW(A1:E1) 皆傳回 1,因為參照僅包含列 1 作為表格中的第一欄。(由於單列區域僅有一個列號,因此公式是否用作陣列公式,並無任何差別。)

若在列 3 中輸入公式,則 =ROW() 會傳回 3。

若「兔子」是已命名區域 (C1:D3),則 {=ROW(兔子)} 會傳回單欄陣列 (1, 2, 3)。

HLOOKUP

在選取的區域以下搜尋值與儲存格的參照。 此函數驗證陣列的第一列是否包含特定值。然後此函數傳回同一欄中由 Index 指定的矩陣列中的數值。

搜尋可支援常規表示式。例如,您可以輸入「all.*」,尋找「all」開頭之任何字元首次出現的位置。若要搜尋本身也是常規表示式的文字,則必須在每個字元前加上 \ 字元。您可以在以下位置切換常規表示式的自動評估開關:[工具] - [選項] - [LibreOffice Calc] - [計算]

語法

HLOOKUP(SearchCriteria; Array; Index; Sorted)

請參閱 VLOOKUP (欄和列交換)

空白儲存格的處理方式

CHOOSE

使用索引傳回來自清單的值,可多達 30 個值。

語法

CHOOSE(Index; Value1; ...; Value30)

Index 作為 1 和 30 之間的參照或數字,指定要從清單中取得哪一數值。

Value1...Value30 是作為儲存格參照或是作為個別值的數值清單。

範例

例如,若是 A1 = 2,=CHOOSE(A1;B1;B2;B3;"今天";"明天";"後天") 會傳回儲存格 B2 的內容;若是 A1 = 4,此函數會傳回文字「今天」。

STYLE

將樣式套用至包含公式的儲存格。 在設定時間之後可以套用另一樣式。此函數會一直傳回值 0,以便允許您將它增加到其他函數而不變更值。您可以將 CURRENT 函數與顏色一起套用至儲存格而不考慮值。例如:如果值大於 3,=...+STYLE(IF(CURRENT()>3;"red";"green")) 會將樣式「紅色」套用至儲存格,否則套用樣式「綠色」。兩種儲存格格式都要預先定義。

語法

STYLE("Style"; Time; "Style2")

Style 是為儲存格指定的儲存格樣式之名稱。樣式名稱前後必須加上引號。

Time 是以秒為單位的選用性時間區段。若缺少此參數,便不會在特定時間後轉換樣式。

Style2 是過了一段時間後,指定給儲存格的儲存格樣式選用名稱。若缺少此參數,則會使用「預設值」。

在 LibreOffice Calc 的函數中,只有當參數後面沒有其他參數時,才可以省略標示為「可選」的參數。例如,如果某個函數有 4 個參數,其中最後 2 個參數標示為「可選」,則您可以省略參數 4 或參數 3 和 4,但不能單獨省略參數 3。

範例

=STYLE("Invisible";60;"Default") 會在重新計算或載入文件之後,以透明格式來格式化儲存格 60 秒,然後指定預設格式。您必須事先定義這兩種儲存格格式。

由於 STYLE() 的傳回數值為零,此傳回值會附加到字串。如下例所示,使用 T() 可避免此情形。

="Text"&T(STYLE("myStyle"))

如需其他範例,另請參閱 CURRENT()。

LOOKUP

傳回單列範圍或單欄範圍的儲存格內容。可選擇以不同的欄與列傳回 (相同索引的) 指定值。比起 VLOOKUPHLOOKUP,搜尋與結果向量可能會在不同的位置;這兩個向量無須相鄰。此外,LOOKUP 的搜尋向量必須向上排序,否則搜尋無法傳回任何可用的結果。

Note.png 若 LOOKUP 找不到搜尋條件,則會於搜尋向量中搜尋小於或等於搜尋條件的最大值。

搜尋可支援常規表示式。例如,您可以輸入「all.*」,尋找「all」開頭之任何字元首次出現的位置。若要搜尋本身也是常規表示式的文字,則必須在每個字元前加上 \ 字元。您可以在以下位置切換常規表示式的自動評估開關:[工具] - [選項] - [LibreOffice Calc] - [計算]

語法

LOOKUP(SearchCriterion; SearchVector; ResultVector)

SearchCriterion 是指要搜尋的數值 (直接輸入或輸入為參照)。

SearchVector 是指要搜尋的單列或單欄區域。

ResultVector 是其他單列或單欄範圍,並會從此範圍取得函數的結果。結果是其索引與搜尋向量中所找到的實例相同之結果向量的儲存格。

空白儲存格的處理方式

範例

=LOOKUP(A1;D1:D100;F1:F100) 會在範圍 D1:D100 的對應儲存格中,搜尋您在 A1 中輸入的數字。並在找到實例時,決定其索引,例如,此範圍中的第 12 個儲存格。然後會傳回第 12 個儲存格的內容,作為函數的值 (於結果向量中)。

OFFSET

依指定參照點特定的列與欄數傳回儲存格偏移的值。

語法

OFFSET(Reference; Rows; Columns; Height; Width)

Reference 是指函數搜尋新參照的來源參照。

Rows 是指參照向上 (負值) 或向下修正的列數。

Columns (選擇性) 是參照向左 (負值) 或向右修正的欄數。

Height (選擇性) 是以新參照位置開始之區域的上下高度。

Width (選擇性) 是以新參照位置開始之區域的左右寬度。

引數 RowsColumns 不得在列或欄的開頭處出現前置零或為負值。

引數 HeightWidth 不得在列或欄中有前置零或負值的計數。

在 LibreOffice Calc 的函數中,只有當參數後面沒有其他參數時,才可以省略標示為「可選」的參數。例如,如果某個函數有 4 個參數,其中最後 2 個參數標示為「可選」,則您可以省略參數 4 或參數 3 和 4,但不能單獨省略參數 3。

範例

=OFFSET(A1;2;2) 傳回儲存格 C3 (A1 下移兩列兩欄) 中的值。若 C3 包含值 100,則此函數傳回值 100。

=OFFSET(B2:C3;1;1) 傳回下移 1 列並右移 1 欄的 B2:C3 參照 (C3:D4)。

=OFFSET(B2:C3;-1;-1) 傳回上移 1 列並左移 1 欄的 B2:C3 參照 (A1:B2)。

=OFFSET(B2:C3;0;0;3;4) 傳回 B2:C3 的參照,調整大小為 3 列 4 欄 (B2:E4)。

=OFFSET(B2:C3;1;0;3;4) 傳回下移一列並調整大小為 3 列 4 欄的 B2:C3 參照 (B2:E4)。

=SUM(OFFSET(A1;2;2;5;6)) 決定以儲存格 C3 開始並有 5 列高與 6 欄寬的區域總計 (area=C3:H7)。

MATCH

傳回陣列中符合指定值的項目相關位置。 函數傳回 lookup_array 中找到為數字的值位置。

語法

MATCH(SearchCriterion; LookupArray; Type)

SearchCriterion 是指在單列或單欄陣列中搜尋的值。

LookupArray 是搜尋的參照。查找陣列可以是單列或單欄,或者是單列或單欄的一部分。

Type 可以是數值 1、0 或 -1。若 Type = 1 或没有此可選參數,則假定搜尋矩陣的第一欄以向上的順序排序。若 Type = -1,則假定該欄以向下的順序排序。這與 Microsoft Excel 中相同的函數相對應。

若 Type = 0,僅會尋找完全相符的項目。若搜尋條件找到不只一個項目,函數會傳回第一個相符值的索引。只有當 Type = 0 時,才可搜尋常規表示式。

若 Type = 1 或缺少第三個參數,則會傳回小於或等於搜尋條件之最後一個值的索引。即使在未排序搜尋陣列的情況下亦適用。若 Type = -1,則會傳回大於或等於的第一個值。

搜尋可支援常規表示式。例如,您可以輸入「all.*」,尋找「all」開頭之任何字元首次出現的位置。若要搜尋本身也是常規表示式的文字,則必須在每個字元前加上 \ 字元。您可以在以下位置切換常規表示式的自動評估開關:[工具] - [選項] - [LibreOffice Calc] - [計算]

範例

=MATCH(200;D1:D100) 在依欄 D 排序的區域 D1:D100 中搜尋值 200。一旦找到此值,則傳回其所在的列號。若在欄中搜尋時找到更大的值,則傳回前一列的列號。

SHEETS

決定參照中的試算表數。 如果您並未輸入任何參數,則會傳回目前文件中的試算表數。

語法

SHEETS(Reference)

Reference 是工作表或區域的參照。此參數為選用項目。

範例

若「工作表1」、「工作表2」與「工作表3」依指定的順序存在,則 =SHEETS(Sheet1.A1:Sheet3.G12) 會傳回 3。

SHEET

傳回參照的試算表數或代表試算表名稱的字串。 如果您並未輸入任何參數,結果為包含公式的試算表之試算表編號。

語法

SHEET(Reference)

Reference 為選用項目,它是儲存格、區域或工作表名稱字串的參照。

範例

若 Sheet2 是試算表文件中的第二個試算表,則 =SHEET(Sheet2.A1) 會傳回 2。

ADDRESS

依據指定的列號和欄號,傳回文字形式的儲存格位址 (參照)。 您可以決定將此位址解譯為絕對位址 (如 $A$1)、相對位址 (如 A1) 還是混合格式 (A$1 或 $A1)。您也可以指定此試算表的名稱。

為了達成互通性,ADDRESS 及 INDIRECT 函數均支援選擇性的參數,該參數可指定是否應使用 R1C1 位址表示法,而非一般的 A1 表示法。

在 ADDRESS 中,此參數作為第四個參數插入,而選擇性的工作表名稱參數則會移到第五個位置。

在 INDIRECT 中,此參數會附加為第二個參數。

在這兩個函數中,若插入的引數值為 0,則使用 R1C1 表示法。若未指定引數或其值非 0,則使用 A1 表示法。

在使用 R1C1 表示法的情況下,ADDRESS 傳回位址字串時使用驚嘆號「!」作為工作表名稱的分隔符,INDIRECT 也需以驚嘆號作為工作表名稱分隔符。在 A1 表示法下,兩個函數仍使用點「.」作為工作表名稱分隔符。

開啟 ODF 1.0/1.1 格式的文件時,將工作表名稱顯示為第四個參數的 ADDRESS 函數,會將該工作表名稱移到第五個參數,並新插入值為 1 的第四個參數。

儲存 ODF 1.0/1.1 格式的文件時,若 ADDRESS 函數有第四個參數,該參數會遭移除。

Note.png 若 ADDRESS 函數新的第四個參數值為 0,則請勿以舊的 ODF 1.0/1.1 格式儲存試算表。
Note.png 儲存 INDIRECT 函數並不會轉換為 ODF 1.0/1.1 格式。若第二個參數存在,舊版的 Calc 會傳回該函數發生錯誤。

語法

ADDRESS(Row; Column; Abs; A1; "Sheet")

Row 表示儲存格參照的列號

Column 表示儲存格參照的欄號 (數字,而非字母)

Abs 決定參照的類型:

1: absolute ($A$1)

2:列絕對;欄相對 (A$1)

3:列相對;欄絕對 ($A1)

4:相對 (A1)

A1 (選擇性) - 若設為 0,則使用 R1C1 表示法。若此參數不存在或設為非 0 值,則使用 A1 表示法。

Sheet 表示工作表的名稱。必須在前後加上雙引號。

範例

=ADDRESS(1;1;2;;"Sheet2") 傳回下列值:Sheet2.A$1

若試算表 2 的儲存格 A1 包含值 -6,您可以輸入 =ABS(INDIRECT(B2)),使用 B2 中的函數直接指向參照的儲存格。結果是 B2 中所指定之儲存格參照的絕對值,在本例中是 6。


Related Topics

Calc Functions By Category in the LibreOffice WikiHelp