Lotus Symphony 1.2


試算表函數

本節包括 Spreadsheet 函數的說明,並提供相關範例。以下說明的函數包括:ADDRESSAREASCHOOSECOLUMNCOLUMNSDDEERRORTYPEHLOOKUPINDEXINDEX2XINDEX INDIRECTSHEETSHEETSLOOKUPMATCHOFFSETROWROWSSTYLEVLOOKUP。請參閱下列說明。

ADDRESS

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

語法

ADDRESS(row; column; abs;sheet)

row 表示此資料格參照的列號

column 表示此資料格參照的欄號 (數字而非字母)

abs 決定參照的類型:

1 或是空白:絕對 ($A$1)

2:列參照類型為絕對;欄參照類型為相對 (A$1)

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

4:相對 (A1)

sheet 表示此工作表的名稱。其前後必須加上雙引號。

範例:

ADDRESS(1; 1; 2; "Sheet2") 傳回的結果如下:Sheet2.A$1

如果工作表 2 中的資料格 A1 包含數值 -6,您可以透過輸入公式 =ABS(INDIRECT(B2)),使用 B2 中的函數來間接參照相關的資料格。結果是 B2 中指定的資料格參照的絕對值,在此例即為 6。

另請參閱下列函數:

COLUMNROW

AREAS

傳回屬於多重範圍的個別範圍數。範圍可以由多個連續的資料格構成,也可以由單個資料格構成。

語法

AREAS(reference)

reference為資料格或資料格範圍的參照。

範例

=AREAS(A1:B3;F2;G1) 傳回 3,因為它是三個資料格與 (或) 區域的參照。

如果您已經在「操作」-「定義範圍」下定義名為 All 的區域,則 =AREAS(All) 會傳回 1。

另請參閱下列函數:

ADDRESSCOLUMNCOLUMNSINDEXROWROWS

DDE

傳回 DDE 型鏈結的結果。 如果所鏈結的範圍或區段的內容發生變更,傳回值也會跟著變更。 您必須重新載入試算表或選擇「編輯」-「管理鏈結」,才能看到已更新的鏈結。 不容許跨平台鏈結,例如,從在 Windows 機器上執行的 IBM® Lotus® Symphony™ 安裝系統,鏈結至在 Linux 機器上建立的文件。

語法

DDE(server;file;range;mode)

server 是伺服器應用程式的名稱。Lotus Symphony 應用程式具有伺服器名稱 "Soffice"。

file 是含有完整路徑的檔案名稱。

range 是含有待評估之資料的區域。

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

模式 效果
0 或沒有 「預設值」資料格樣式中的數字格式
1 資料會永遠以美式英文的標準格式來解譯
2 資料會擷取成文字,而不轉換成數字

範例

=DDE("soffice";"c:\office\document\data1.sxc";"sheet1.A1") 讀取資料格 A1 (位於 IBM Lotus Symphony Spreadsheets data1.sxc 的 sheet1) 的內容。

=DDE("soffice";"c:\office\document\Motto.sxw";"Tagesmotto") 會將格言傳回資料格,此公式即位於此資料格中。首先,您必須在含有格言文字的 motto.sxw 文件中輸入一行字,並將其定義成名為「今日格言」之區段 (在 IBM Lotus Symphony Documents 「建立」-「區段」下) 的第一行。如果修改了 (並儲存) Lotus Symphony Documents 文件中的格言,將會更新所有 Lotus Symphony Spreadsheets 資料格 (定義此 DDE 鏈結之處) 中的格言。

ERRORTYPE

傳回對應到錯誤值的數值,此值會出現在不同的資料格內。在此數值的輔助之下,您便可產生錯誤訊息文字。

如果出現錯誤,此函數會傳回一個邏輯值或數值。

此圖示標示包含其他資訊的文字。 如果按一下含有錯誤的資料格,則「狀態列」會顯示 Lotus Symphony 中預先定義的錯誤碼。

語法

ERRORTYPE(reference)

reference 含有發生錯誤之資料格的位址。

範例

如果資料格 A1 出現 Err:518,則函數 =FEHLERTYP(A1) 便會傳回數值 518。

另請參閱下列函數:

ISREFISERRISERRORISFORMULAISNONTEXTISBLANKISLOGICALISNAISTEXTISNUMBER

INDEX

INDEX 傳回由列號和欄號或選用範圍名稱所指定的資料格內容。

語法

INDEX(reference;row;column;range)

reference 是資料格參照,可直接輸入或透過指定範圍名稱來輸入。如果該參照由多個範圍構成,則必須用圓括弧將該參照或範圍名稱括起來。

row (選用) 表示參照範圍的列號 (用於傳回一個值)。

column (選用) 表示參照範圍的欄號 (用於傳回一個值)。

range (選用) 表示子範圍的索引 (如果參照多重範圍)。

範例

=INDEX(Prices;4;1) 傳回在「操作」-「定義」中定義為 Prices 的資料庫範圍第 4 列第 1 欄中的值。

=INDEX(SumX;4;1) 傳回在「建立」-「名稱」-「定義」中定義的 SumX 範圍內第 4 列第 1 欄中的值。

=INDEX((multi);4;1) 指示在「建立」-「名稱」-「設定」中命名為 multi 的 (多重) 範圍中第 4 列第 1 欄所包含的值。多重範圍可能由數個矩形範圍構成,每個範圍均包含第 4 列第 1 欄的資料格。如果現在要呼叫此多重範圍的第二個區塊,請輸入數字 2 作為範圍

=INDEX(A1:B6;1;1) 指示 A1:B6 範圍中左上角資料格內的值。

另請參閱下列函數:

VLOOKUPMATCHLOOKUPCHOOSEHLOOKUP

INDEX2

傳回位於某範圍中指定列、欄及/或工作表交集處的資料格內容。

語法

Index2( Range; Row; Column; Sheet)

Range (必要):參照範圍。Range 可以是範圍位址或範圍名稱。

Row (必要):列的偏移數字,或包含正整數之資料格的位址或名稱。

Column (必要):直欄的偏移數字,或包含正整數之資料格的位址或名稱。

Sheet (選用):選用引數,工作表的偏移數字。如果未指定工作表,則會使用範圍中的第一個工作表。

XINDEX

傳回位於交集處 (以 column-heading、row-heading 及/或 worksheet-heading 指定) 的資料格內容。

語法

Xindex(Range; Column-heading; Row-heading; Worksheet-heading)

Range (必要):參照範圍。

Column-heading (選用):範圍第一列中的資料格內容。

Row-heading (選用):範圍第一欄中的資料格內容。

Worksheet-heading (選用):範圍中第一個資料格的內容。

INDIRECT

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

語法

INDIRECT(ref)

range (必要):參照範圍。

範例

=INDIRECT(A1) 等於 100,如果 A1 含有 C108 作為參照,且資料格 C108 含有數值 100。

=SUM(INDIRECT("a1:" & ADDRESS(1;3))) 會總和從 A1 到其他由列 1 和欄 3 定義地址之區域的資料格。因此,會得出區域 A1:C1 的總計。

另請參閱下列函數:

OFFSET

COLUMN

傳回資料格參照的欄號。如果參照是一個資料格,則此資料格的欄號會被傳回;如果參數是一個資料格範圍,則對應的欄號會以單列陣列的形式傳回 (如果此公式是以陣列公式來輸入。如果具有區域參照參數的函數 COLUMN 未用於陣列公式,則僅會確立此區域內第一個資料格的欄號。

語法

COLUMN(reference)

reference 是資料格或資料格區域的參照,其中可找到第一個欄號。

如果未輸入參照,則會找到其中輸入公式的資料格欄號。Lotus Symphony Spreadsheets 會自動設定現行資料格的參照。

範例

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

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

=COLUMN(D3:G10) 傳回 4,因為欄 D 是表格中的第 4 欄且函數 COLUMN 未作為陣列公式使用。(在此情況下,陣列的第一個值會永遠當作結果。)

{=COLUMN(B2:B7)} 和 =COLUMN(B2:B7) 均傳回 2,因為此參照僅包含表格中作為第二欄的欄 B。由於單欄區域只有一個欄號,因此是否將公式作為陣列公式使用,對結果沒有影響。

=COLUMN() 傳回 3,如果將公式輸入欄 C 中。

如果 "Rabbit" 是命名的範圍 (C1:D3),則 {=COLUMN(Rabbit)} 會傳回單列陣列 (3, 4)。

另請參閱下列函數:

COLUMNSROW

COLUMNS

傳回給定參照中的直欄數目。

語法

COLUMNS(array)

array 是資料格範圍的參照,其中要找到直欄總數。此引數也可以是單一資料格。

範例

=COLUMNS(B5) 傳回 1,因為一個資料格只包含一欄。

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

如果 "Rabbit" 是命名的範圍 (C1:D3),則 =COLUMNS(Rabbit) 傳回 2。

另請參閱下列函數:

COLUMNROWS

VLOOKUP

以右側相鄰的資料格參照進行垂直搜尋。此函數會檢查列陣第一欄中是否包含特定的值。然後此函數將值傳回到由索引命名的特定陣列欄的同一行。

搜尋支援

正規表示式

. 輸入文字後,如果要搜尋以 all 開頭的字元首次出現的位置,則可輸入 all.*。

語法

=VLOOKUP(Search criterion;array;index;sort order)

Search criterion 是在陣列的第一欄中搜尋的值。

array 是參照,至少要包含兩欄。

col_index 是包含待傳回數值之陣列內的欄號。第一欄的編號是 1。

sort order 是一個選用的參數,用於指示陣列中的第一欄是否以遞增的順序排序。如果第一欄未以遞增的順序排序,請輸入布林值 FALSE。您可以更快地搜尋已排序的欄,如果某個值介於已排序清單中最小值和最大值之間,即使與搜尋值不完全相符,函數也會傳回該值。在未排序的清單中,搜尋值必須完全相符。否則函數將傳回以下訊息:錯誤:找不到該值

範例

在資料格 A1 中輸入菜單中某道菜的號碼後,此菜的名稱會立即以文字形式出現在相鄰的資料格 (B1) 中。D1:E100 陣列中包含號碼與名稱的對應關係。D1 包含號碼 100,E1 包含名稱 Vegetable Soup,以此類推,對應有 100 個菜單項目。欄 D 中的號碼以遞增的順序排序,因此沒有必要使用選用的參數 sort order

請在 B1 中插入下列公式:

=VLOOKUP(A1; D1:E100; 2)

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

另請參閱下列函數:

INDEXHLOOKUPLOOKUPMATCH

工作表

傳回參照的工作表編號或代表工作表名稱的字串。如果未輸入任何參數,結果便是內含公式的試算表的工作表編號。

語法

SHEET(Reference)

Reference 是選用的,它是資料格、範圍或工作表名稱字串的參照。

範例

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

SHEETS

決定參照的工作表編號。如果未輸入任何參數,則會傳回現行文件中的工作表編號。

語法

SHEETS(Reference)

Reference 是工作表或範圍的參照。此參數是選用的。

範例

如果工作表依次為 Sheet1、Sheet2 和 Sheet3,則 =SHEETS(Sheet1.A1:Sheet3.G12) 傳回 3。

MATCH

傳回陣列中與指定值相符之項目的相對位置。此函數以數字形式傳回 lookup_array 中找到之值的位置。

語法

MATCH(search criterion;lookup_array;type)

search criterion 是在單列或單欄陣列中要搜尋的值。

lookup_array 是搜尋的參照。搜尋陣列可以為單列或單欄,也可以為單列或單欄的一部分。

type 可以是數值 1、0 或 -1。如果 type = 1 或未指定此可選參數,則假定搜尋陣列的第一欄以遞增的順序排序。如果 type = -1,則假定該欄以遞減的順序排序。這與 Microsoft Excel 中相同的函數相對應。

如果 Type = 0,便僅會找完全相符的項目。如果找到多個搜尋準則,函數便傳回第一個找到的項目。只有當 Type = 0 時才容許使用正規表示式。

搜尋支援

正規表示式

. 輸入文字後,如果要搜尋以 all 開頭的字元首次出現的位置,則可輸入 all.*。

如果 Type = 1 或缺少第三個參數,則傳回最後一個小於或等於搜尋準則的數值。即使搜尋陣列未排序也同樣適用。如果 type = -1,則傳回第一個大於或等於搜尋準則的數值。

範例

=MATCH(200; D1:D100) 在按直欄 D 排序的 D1:D100 範圍中搜尋數值 200。一旦找到此數值,便會傳回其所在的列號。如果在搜尋該欄期間找到一個更大的數值,則傳回前一列的號碼。

另請參閱下列函數:

INDEXVLOOKUPHLOOKUP

OFFSET

傳回資料格的數值,此資料格會依特定的欄數或列數,移到其他資料格。

語法

OFFSET(reference;rows;columns;height;width)

reference 是函數開始計算新參照的資料格。

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

cols 是參照向左 (負值) 或向右修正的欄數。

height 是從新參照位置開始的選擇性範圍垂直高度。

width 是從新參照位置開始的選擇性範圍水平寬度。

範例

=OFFSET(A1; 2, 2) 傳回資料格 C3 中的數值 (A1 向右下方移動了兩列和兩欄)。如果 C3 中有數值 100,則此函數便會以數值 100 作為結果。

=SUM(OFFSET(A1; 2; 2; 5; 6)) 決定了範圍的總計,此範圍是從資料格 C3 開始,且有五列高、六欄寬,也就是範圍 C3:H7。

LOOKUP

此函數會傳回資料格內容,此資料格是透過列或欄中的搜尋準則算出。系統會選擇性地將其他列或欄中所指定的數值 (含相同索引) 傳回。與 VLOOKUPHLOOKUP 相反,lookup_vector 和 result_vector 會在空間上分離,它們並不一定要並排在一起。另外,Lookup 的搜尋向量必須加以排序,否則搜尋便無法產生可用的結果。

搜尋支援

正規表示式

. 輸入文字後,如果要搜尋以 all 開頭的字元首次出現的位置,則可輸入 all.*。

語法

LOOKUP(Search criterion;Search vector;result_vector)

lookup_value 是作為搜尋依據的數值,可直接或作為參照輸入。

lookup_vector 是要在其中進行搜尋的單行或單欄區域。

result_vector 是另一個單列或單欄區域,函數結果從此區域中取得。該結果是結果向量中與在搜尋向量內找到的實例具有相同標誌的資料格。

範例

=LOOKUP(A1; D1:D100;F1:F100) 在區域 D1:D100 中搜尋 A1 內所輸入數值的相應資料格。對於所找到的實例,例如,此範圍中的第 12 個資料格,則會確定索引。然後,第 12 個資料格的內容 (在結果向量中) 會作為函數的值傳回。

另請參閱下列函數:

HLOOKUPINDEXVLOOKUP

STYLE

請套用含公式之資料格的樣式。一段時間過後,您可套用其他樣式。函數會一直傳回數值 0,如此您便能透過加法新增函數至其他函數,而不需變更其數值。與 CURRENT 函數一起使用,無論值為何,您都可以將顏色套用至資料格。例如:=...+STYLE(IF(CURRENT()>3;"red";"green")) 中,當資料格的數值大於 3 時,便會套用資料格樣式為「紅色」,否則便套用資料格樣式為「綠色」。必須事先定義好這兩個資料格的格式。

語法

STYLE(style1;time;style2)

style 是為資料格指定的資料格樣式之名稱。樣式名稱前後必須加上引號。

time 是以秒為單位的選用時間範圍。如果缺少此參數,便不會在特定時間後轉換樣式。

style2 是一個可選的資料格樣式名稱,經過一定的時間段後資料格就會採用此樣式。如果未指定此參數,資料格將採用「標準」樣式。

範例

=STYLE("隱藏";60;"預設") 會在重新命名或載入含「隱藏」格式的文件後,資料格格式保持 60 秒,然後使用「預設」格式。必須事先定義好這兩個資料格的格式。

CHOOSE

傳回具有最多 30 個數值的清單中,透過索引決定的數值。

語法

CHOOSE(Index; value1;...value30)

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

value1...value30 是作為資料格參照或是作為自訂數值輸入的數值清單。

範例

例如,對於 =CHOOSE(A1; B1; B2; B3; "Today"; "Yesterday"; "Tomorrow"),如果 A1 = 2,此函數傳回資料格 B2 的內容;如果 A1 = 4,則此函數傳回文字 "Today"。

另請參閱下列函數:

INDEX

HLOOKUP

在選取的區域下,搜尋某個數值和資料格的參照。此函數驗證陣列的第一列是否包含特定數值。然後此函數傳回同一欄中在 Index 中命名的陣列列中的數值。

搜尋支援

正規表示式

. 輸入文字後,如果要搜尋以 all 開頭的字元首次出現的位置,則可輸入 all.*。

語法

=HLOOKUP(search_criteria;array;Index;sorted)

請參閱 VLOOKUP (欄和列交換)

另請參閱下列函數:

INDEXLOOKUPMATCHVLOOKUP

ROW

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

語法

ROW(reference)

reference 是要算出其列編號的資料格區域參照。自變數也可以是一個單一的資料格。

如果未指定參照,則會算出其中輸入公式的資料格列編號。Lotus Symphony Spreadsheets 會自動設定現行資料格的參照。

範例

=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 列。(由於單列區域只有一個列號,因此是否將公式作為陣列公式使用,對結果沒有影響。)

=ROW() 得出 3,如果在列 3 中輸入公式。

如果 "Rabbit" 是命名的區域 (C1:D3),則 {=ROW(Rabbit)} 傳回單欄陣列 (1, 2, 3)。

另請參閱下列函數:

COLUMNROWS

ROWS

傳回參照中的列數。

語法

ROWS(array)

array 是要算出其列數的資料格區域上的參照。自變數也可以是一個單一資料格。

範例

=ROWS(B5) 得出 1,因為一個資料格只包含一列。

=ROWS(A10:B12) 傳回 3。

=ROWS(Rabbit) 得出 2,如果 "Rabbit" 是區域 (C1:D3) 的名稱。

另請參閱下列函數:

COLUMNSROW


其他文件 | 商標