IBM Lotus Symphony
|
ここでは、表計算関数について例をあげながら説明します。以下に説明されている関数は次のとおりです。 ADDRESS、AREAS、 CHOOSE、COLUMN、COLUMNS、 DDE、HLOOKUP、HYPERLINK、INDEX、INDEX2、INDIRECT、 SHEET、SHEETS、LOOKUP、 MATCH、OFFSET、ROW、ROWS、STYLE、VLOOKUP、ERRORTYPE ここでは、これらの関数をこの順番で説明します。
数値で指定された行番号と列番号から、セルのアドレス (参照) をテキストとして返します。戻り値の種類も、絶対アドレス ($A$1)、相対アドレス (A1)、混在参照 (A$1 や $A1) から指定できます。また、表名も指定できます。
ADDRESS 関数と INDIRECT 関数では、相互運用性を確保する目的で、通常の A1 表記の代わりに R1C1 アドレス表記を使用するかどうかを指定するオプションパラメータをサポートしています。
ADDRESS では、このパラメータは 4 番目のパラメータとして挿入され、オプションのシート名パラメータは 5 番目の位置に移動しています。
INDIRECT の場合、このパラメータは 2 番目のパラメータとして付加されます。
両方の関数で、値 0 の引数が挿入された場合、R1C1 表記が使用されます。引数が指定されないか、値が 0 以外の場合、A1 表記が使用されます。
R1C1 表記の場合、ADDRESS は感嘆符「!」をシート名の区切り記号として使用してアドレス文字列を返し、INDIRECT は感嘆符をシート名の区切り記号として予期します。どちらの関数も、A1 表記では点「.」のシート名の区切り記号を使用します。
ADDRESS (行; 列; 種類; A1; シート)
行は、セル参照を求める行番号です。
列は、セル参照を求める、数値で表した列番号です。
A1 パラメータはオプションです。このパラメータが 0 に設定されると、R1C1 表記が使用されます。値が存在しないか、0 以外の値に設定されると、A1 表記が使用されます。
シートは、シートの名前です。シート名は二重引用符で囲む必要があります。
ADDRESS(1; 1; 2; "Sheet2") は「Sheet2.A$1」を返します。
上記式がシート 1 の B2 に入っており、シート 2 のセル A1 に値 -6 が入っていると仮定します。このとき、シート 1 の任意のセルに =ABS(INDIRECT(B2)) を入力すると、B2 の式が指すアドレス (つまり、シート 2 のセル A1) を間接的に参照できます。つまり、=ABS(INDIRECT(B2)) は B2 が参照するセルの絶対値 (この場合 6) を返します。
次の関数も参照してください。
AREAS(参照)
参照は、セルやセル範囲の参照です。
DDE リンクの結果を返します。リンク先の範囲またはセクションの内容が変わると、戻り値も変わります。更新されたリンクを表示するには、表計算を更新するか、[編集] - [リンク] を行う必要があります。クロスプラットフォームリンク (たとえば、Windows マシンで動作している IBM® Lotus® Symphony™ インストールから、Linux マシン上で作成された文書へのリンク) は許可されません。
DDE(サーバー;ファイル;範囲;モード)
サーバー は、サーバーアプリケーションの名前です。Lotus Symphony アプリケーションのサーバー名は「Soffice」です。
[ファイル] は、絶対パスによるファイル名です。
範囲 は、データを取り出す範囲です。
モード (オプション) は、DDE サーバーのデータがどのように数値に変換されるかを操作します
モード | 効果 |
0 または指定なし | セルスタイル「デフォルト」の数値の表示形式 |
1 | データは常に、英語 (米国) の標準書式で解釈されます。 |
2 | データは文字列として受け取られ、数値には変換されません。 |
=DDE("soffice";"c:¥Lotus Symphony¥document¥data1.sxc";"sheet1.A1") は、IBM Lotus Symphony Spreadsheets data1.sxc の sheet1 のセル A1 の内容を読み取ります。
=DDE("soffice";"c:¥Lotus Symphony¥document¥motto.sxw";"今日のモットー") は、この数式が入力されているセルに今日のモットーを返します。まず、モットーテキストの入った文書「モットー.sxw」に 1 行を入力し、これを「今日のモットー」という名前のセクションの最初の行として定義する必要があります (IBM Lotus Symphony Documents の [作成] - [セクション])。 Lotus Symphony Documents のモットーが変更されて保存されると、この DDE リンクが定義された Lotus Symphony Spreadsheets のすべてのセルに、更新されたモットーが表示されます。
この関数は、ほかのセルで発生したエラーコードの番号を数値で返します。この番号を使うと、独自のエラーメッセージを表示させることなどが可能になります。
エラーが発生すると、関数から論理値または数値が返されます。
![]() |
クリックしたセルに問題があると、Lotus Symphony から定義済みエラーコードがステータスバーに表示されます。 |
ERRORTYPE(参照)
参照 は、エラー表示のあるセルの参照です。
セル A1 に エラー:518 と表示されている場合、=ERRORTYPE(A1) は 518 を返します。
INDEX(参照;行;列;範囲)
参照 はセル参照です。セル参照は直接入力することも、範囲名で間接的に指定することもできます。参照に複数の範囲を指定する場合、参照または範囲名を丸括弧で囲む必要があります。
行 (オプション) は 参照内で値を返したいセルを示す行番号です。
列 (オプション) は 参照内で値を返したいセルを示す列番号です。
範囲 (オプション) は、参照が複数の範囲からなる場合、参照内で値を返したい範囲を示す番号です。
=INDEX(価格;4;1) は、[データ] - [範囲の指定] で [価格] として指定された範囲の中から、行番号 4 と列番号 1 のセルの内容を返します。
=INDEX(合計;4;1) は、[作成] - [名前] - [指定] で合計として指定された範囲の中から、行番号 4 と列番号 1 のセルの内容を返します。
=INDEX((複数);4;1) は、[作成] - [名前] - [指定] で複数として指定されたそれぞれの範囲の中から、行番号 4 と列番号 1 のセルの内容を返します。 複数の範囲とは、いくつかの四角形の範囲 (この場合、それぞれ行 4 と列 1) からなります。この複数の範囲の 2 番目のブロックを参照する場合は、最後の 範囲 パラメータに数値 2 を指定します。
=INDEX(A1:B6;1;1) は、範囲 A1:B6 の中から、行番号 1 と列番号 1 のセルの内容を返します。
次の関数も参照してください。
Index2(範囲;行;列;表)
範囲 (必須): 範囲の参照。 範囲は、範囲アドレスまたは範囲名のどちらでも構いません。
行 (必須): 行のオフセット番号、または正整数が入っているセルのアドレスまたは名前。
列 (必須): 行のオフセット番号、または正整数が入っているセルのアドレスまたは名前。
シート (オプション): シートのオフセット番号であるオプションの引数。 シートを指定しないと、範囲内の最初のシートが使用されます。
列見出し、行見出し、ワークシート見出し (任意指定) で指定された交点にあるセルの内容を返します。
Xindex(範囲; 列見出し; 行見出し; ワークシート見出し)
範囲 (必須): 範囲の参照。
列見出し (オプション): 範囲の最初の行のセルの内容。
行見出し (オプション): 範囲の最初の列のセルの内容。
ワークシート見出し (オプション): 範囲の最初のセルの内容。
INDIRECT(参照)
範囲 (必須): 範囲の参照。
=INDIRECT(A1) は、A1 に C108 と入力されており、C108 に 100 が入力されている場合、100 を返します。
=SUM(INDIRECT("A1:" & ADDRESS(1;3))) は、A1 から ADDRESS 関数に指定した範囲の 1 行 3 列目 (この例では C1) の合計を返します。
次の関数も参照してください。
参照 の列番号を返します。参照 が単一のセルである場合、そのセルの列番号を返します。数式が配列数式として入力された場合、各セルの列番号からなる 1 行の配列を返します。 参照がセル範囲であるが、数式が配列数式として入力されていない場合、COLUMN 関数はセル範囲にある最初のセルの列番号だけを返します。
COLUMN(reference)
参照 は、列番号を求めるセル範囲の参照です。1 つのセルを指定することもできます。
参照を指定しない場合は、数式が入力されているセルの列番号が返ります。Lotus Symphony Spreadsheets は自動的に現在のセルの参照を設定します。
=COLUMN(A1) は 1 を返します。列 A は表の最初の列です。
=COLUMN(C3:E3) は 3 を返します。列 C は表の 3 番目の列です。
=COLUMN(D3:G10) は 4 を返します。これは、COLUMN 関数が配列数式として使用されていないためです。つまり、最初のセルである列 D の列番号 4 を返します。(この場合、戻り値には常に範囲の最初の値が使用されます。)
{=COLUMN(B2:B7)} および =COLUMN(B2:B7) は両方とも 2 を返します。これは、この表には 2 番目の列 (B) しか含まれないためです。1 列の範囲には 1 つの列番号しかないため、数式が配列数式として使用されているかどうかは関係ありません。
=COLUMN() は、関数を 列 C に入力した場合 3 を返します。
範囲 (C1:D3) に「うさぎ」という名前が付いている場合、{=COLUMN(うさぎ)} は 1 行の配列 (3, 4) を返します。
次の関数も参照してください。
COLUMNS(範囲)
範囲 は、列数を検査する対象のセル範囲です。引数に 1 つのセルを指定することもできます。
=COLUMNS(B5) は 1 を返します。1 つのセルは 1 列からなっています。
=COLUMNS(A1:C5) は 3 を返します。この指定範囲は 3 列からなっています。
=COLUMNS(うさぎ) は、範囲 (C1:D3) に「うさぎ」と名前が付いている場合、2 を返します。
次の関数も参照してください。
右側に隣接するセルを参照する垂直検索。この関数は、指定された範囲の最初の列に、指定された値が含まれているかどうかをチェックします。そして、範囲の同じ行にある、索引で指定された列の値を返します。
検索サポート
正規表現。
テキストの入力直後にたとえば「all.*」を入力すると、「all」の後に任意の文字が続く最初のパターンが検索されます。
=VLOOKUP(検索値;範囲;列番号;データ順序)
検索条件 は、範囲の最初の列で検索する値です。
範囲 は、少なくとも 2 列からなる範囲です。
列番号 は、指定範囲の中で数えた列番号です。検査値がヒットした行と、ここに指定した列の交わるセルの値が返ります。
並べ替え順序 (オプション) は、範囲の最初の列が昇順に並んでいるかどうかを示すパラメータです。最初の列が昇順に並べ替えられていない場合は、論理値 FALSE を入力します。昇順で並べ替えられた列では検索が素早く行われます。また、検索値が正確に一致しなくても、並べ替えられた列の最小値と最大値の間にある値が常に返されます。昇順で並べ替えられていない列では、検索値は正確に一致する必要があります。正確に一致しない場合、この関数は次のエラーメッセージを返します。エラー: 使用不可。
セル A1 に料理番号を入力すると、(すぐ隣の) B1 に料理名を表示するようにします。料理番号と料理名は D1:E100 の範囲に入力されています。D1 には料理番号 100、E1 には料理名野菜スープというように 100 種類の料理が入力されています。列 D の料理番号は昇順に並べ替えられているため、オプションの並べ替え順序 パラメータは必要ありません。
B1 に次の数式を入力します。
=VLOOKUP(A1;D1:E100;2)
A1 に番号を入力すると、B1 には 列 D に入力されている該当番号の料理名が表示されます。存在しない番号を指定すると、その番号より 1 つ小さい番号の項目が表示されます。この表示が必要でない場合は、最後のパラメータに FALSE を指定します。こうすると、存在しない番号が入力された場合にエラーメッセージが表示されます。
次の関数も参照してください。
SHEET (参照)
参照 (オプション) は、セル、範囲、またはシート名への参照です。
シート 2 が表計算文書の 2 番目のシートである場合、=SHEET(Sheet2.A1) は 2 を返します。
SHEETS (参照)
参照 は表または範囲への参照です。このパラメーターはオプションです。
シート 1、シート 2、シート 3 がこの順序で存在する場合、=SHEETS(Sheet1.A1:Sheet3.G12) は 3 を返します。
MATCH (検査値 ; 検査範囲 ; 照合の型)
検索条件 は、1 列または 1 行の範囲で検索する値です。
検査範囲 は検索を行うセル範囲です。検索範囲には 1 行、1 列、またはそのどちらかの一部を指定できます。
型 には、1、0、または -1 の値を指定できます。型が 1 の場合 (または、オプションのパラメータを指定しない場合)、検索範囲の最初の列が昇順で並べ替えられていると仮定されます。型が -1 の場合、その列が降順で並べ替えられていると仮定されます。これは Microsoft Excel の同じ関数と対応します。
照合の型に 0 を指定すると、完全に一致する値のみが検出されます。検査値が複数見付かった場合は、最初に見付かった位置を返します。指定値が 0 の場合のみ、正規表現が使用できます。
検索サポート
. テキストの入力直後にたとえば「all.*」を入力すると、「all」の後に任意の文字が続く最初のパターンが検索されます。
型が 1 の場合 (または、3 番目のパラメータを指定しない場合)、検索条件以下の最後の値が返されます。これは、検索範囲が並べ替えられていないときにも適用されます。型が -1 の場合、検索基準以上の最初の値が返されます。
=MATCH(200; D1:D100) は、列 D で並べ替えられている範囲 D1:D100 で値 200 を検索します。この値が見つかった場合、そのセルの行番号が返されます。(この値が見つからず)、この値よりも大きな値が見つかった場合、そのセルの 1 行前の行番号が返されます。
次の関数も参照してください。
INDEX、HLOOKUP、LOOKUPOFFSET(参照;行;列;高さ;幅)
基準 のセルまたはセル範囲から、行数と列数を数えはじめます。
行数 は、基準から下方向に数える行数です。上方向に数える場合は、負の値を指定します。
列数 は、基準から右方向に数える列数です。左方向に数える場合は、負の値を指定します。
縦 (オプション) は、範囲を求める場合の縦のセル数 (行数) です。
横 (オプション) は、範囲を求める場合の横のセル数 (列数) です。
=OFFSET(A1;2,2) は、A1 から 2 行下で 2 列右のセル C3 の値を返します。C3 に値 100 が入力されている場合、結果は 100 になります。
=SUM(OFFSET(A1;2;2;5;6)) は、セル C3 から始まる 5 行 6 列の範囲、つまり C3:H7 の合計を返します。
この関数は、値を 1 行または 1 列の範囲で検査して、該当するセルの内容を返します。オプションで、別の行または列に入力されている値を返すこともできます。VLOOKUP や HLOOKUP とは違い、検索範囲と結果範囲が隣り合っている必要はありません。LOOKUP では、検索範囲の値が順に並んでいる必要があります。値が順に並んでいない場合は、有効な結果が返りません。
検索サポート
. テキストの入力直後にたとえば「all.*」を入力すると、「all」の後に任意の文字が続く最初のパターンが検索されます。
LOOKUP(検査値;検索範囲;結果範囲)
検索条件 は検索を行う値です。数値を直接入力、または参照を指定します。
検索範囲 は、検査値を比較する値が入力されている 1 行または 1 列の範囲です。
結果範囲は、検索範囲に対応する 1 行または 1 列の範囲です。検索範囲の値とは別の値を返す場合に指定します。検索範囲で見つかるセルと同じ索引をもつ結果範囲のセルが返されます。
=LOOKUP(A1;D1:D100;F1:F100) は、A1 の数値を D1:D100 で検索します。検索値が D12 に見つかった場合、索引は 12 です。したがって、F12 のセル内容 (結果範囲) が返されます。
次の関数も参照してください。
数式セルに書式スタイルを割り当てます。オプションで、指定時間の経過後に別のスタイルを割り当てることもできます。この関数は常に 0 を返すため、別の関数に付け加えても結果に影響を与えません。また CURRENT 関数と組み合わせて使用すると、値によって数値の色を変えることができます。例えば、=...+STYLE(IF(CURRENT()>3;"赤";"緑")) は、値が 3 より大きいとセルスタイル「赤」、それ以外の場合は「緑」を適用します。この両者のセルスタイルは、前もって定義する必要があります。
STYLE(スタイル;時間;スタイル2)
スタイル はセルに割り当てるセルスタイルの名前です。スタイル名は引用符で囲む必要があります。
時間 (オプション) に秒数を指定すると、指定の秒数後にスタイルが変更されます。
スタイル 2 (オプション) は、指定された秒数後に、セルに割り当てるセルスタイルの名前です。このパラメータを指定しない場合、「標準」が仮定されます。
=STYLE("Invisible";60;"Default") は、計算の更新または文書の読み込み後 60 秒間セルスタイル「透明」を適用し、その後は「デフォルト」になります。この両者のセルスタイルは、前もって定義する必要があります。
CHOOSE(索引; 値 1;...値 30)
索引 は、1 から 30 までのどの値をリストから取り出すのかを指定する、参照または数値です。
値 1 から 値 30 は、値のリストです。参照または値で指定します。
=CHOOSE(A1; B1; B2; B3; "今日"; "昨日"; "明日") は、例えば、A1 が 2 の場合はセル B2 の内容を返し、A1 が 4 の場合はテキスト「今日」を返します。
次の関数も参照してください。
選択した範囲の下にあるセルの値と参照を検索します。この関数は、指定された範囲の最初の列に、指定した値が含まれているかどうかをチェックします。そして、範囲の同じ列にある、索引で指定された行の値を返します。
検索サポート
. テキストの入力直後にたとえば「all.*」を入力すると、「all」の後に任意の文字が続く最初のパターンが検索されます。
HYPERLINK 関数を含むセルをクリックすると、ハイパーリンクが開きます。
オプションの CellText パラメータを使用すると、 数式によって URL が検出され、テキストと数値が表示されます。
HYPERLINK("URL") または HYPERLINK("URL"; "CellText")
URL には、リンク先を指定します。オプションの CellText パラメータは、セルに表示されるテキストまたは数値で、結果として返される値です。 CellText パラメータを指定していない場合、URL がセルテキストに表示され、結果として返されます。
空セルとマトリックス要素については、数値 0 が返されます。
=HYPERLINK("http://www.example.org") では、クリック時に「http://www.example.org」というテキストがセルに表示され、ハイパーリンク hyperlink 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.";"Click ") & "example.org" では、クリック時に「Click example.org」というテキストがセルに表示され、ハイパーリンク http://www.example.org が実行されます。
=HYPERLINK("#Sheet1.A1";"上に戻る") では、「上に戻る」というテキストが表示され、この文書のセル「Sheet1.A1」にジャンプします。
=HYPERLINK("file:///C:/writer.odt#Specification";"ライターのブックマークにジャンプ") では、「ライターのブックマークにジャンプ」というテキストが表示され、指定したテキスト文書がロードされて「Specification」というブックマークにジャンプします。
参照の行番号を返します。参照が単一のセルの場合、そのセルの行番号を返します。参照がセル範囲の場合、各セルの行番号からなる 1 列の配列を返します。この場合、数式を配列数式として入力する必要があります。参照がセル範囲であるが、数式を配列数式として入力しない場合、ROW 関数はセル範囲にある最初のセルの行番号だけを返します。
ROW(reference)
参照 はセル、範囲、または範囲の名前です。
参照を指定しない場合、数式を入力したセルの行番号が返ります。Lotus Symphony Spreadsheets は自動的に現在のセルの参照を設定します。
=ROW(B3) は 3 を返します。B3 は表中の 3 行目にあります。
{=ROW(D5:D8)} は、配列 (5,6,7,8) を返します。指定範囲には 5 行目から 8 行目までが含まれています。
=ROW(D5:D8) は 5 を返します。これは、ROW 関数が配列数式として使用されていないためです。つまり、最初のセルである列 D の行番号 5 を返します。
{=ROW(A1:E1)} および =ROW(A1:E1) は両方とも 1 を返します。これは、この表には 1 番目の行 (1) しか含まれないためです。1 行の範囲には 1 つの行番号しかないため、数式が配列数式として使用されているかどうかは関係ありません。
=ROW() は、数式を 行 3 に入力した場合 3 を返します。
範囲 (C1:D3) に「うさぎ」という名前がついている場合、{=ROW(うさぎ)} は 1 列の配列 (1, 2, 3) を返します。
次の関数も参照してください。
ROWS(範囲)
範囲 は、行数を検査する対象の範囲です。1 つのセルを指定することもできます。