サポートページ

3.関数の機能追加と新関数の定義<その2>

この記事を読むのに必要な時間:およそ 2 分

『照合範囲のなかでの順位を返す「順位関数」p.170~171』←機能追加・一部機能変更

「順位関数」は,問題文中で臨時に定義される関数でしたが,仕様として定義されました。また,新機能も追加されています。

旧仕様では,⁠照合値(引数1)が,照合範囲(引数2)のなかで,昇順に数えて何番目か」という値を求める関数と定義されていました。新仕様では,引数3の「順序の指定」が追加され,⁠昇順(小さい値から順に⁠⁠」と「降順(大きい値から順に⁠⁠」の,どちらで順位を数えるのか選択できるようになりました。

順位番号の付与方法の変更

さらに,同順の場合の,順位番号の付け方が変更されています。

「同順の場合は同じ値を返し,次の順位は同順の個数だけ繰り上げた値を返す」
「同順の場合は同じ値を返し,次の順位は同順の個数だけ加算した値を返す」

170ページの例題の①で説明しましょう。

①:順位(23,A1~B3,0)    結果は4

「表引き関数」←新関数追加

新仕様で新たに定義された関数です。⁠表引き関数」は,引数1の「セル範囲」の中から,引数2「行の位置」と,引数3「列の位置」で指定したセルの値を返す関数です。行位置はセル範囲の上端から行数を,列位置はセル範囲の左端から列数を数えた値で指定します。

例:表引き(B2~D3,2,2)    結果は10

「照合検索関数」←新関数追加

新仕様で新たに定義された関数です。⁠照合範囲(引数2⁠⁠」の上(または左)から,⁠照合値(引数1⁠⁠」が最初に出現するセルを探し,同じ位置関係にある「抽出範囲」のセルの値を返す関数です。

この関数では,⁠照合範囲」「抽出範囲」は,1列(または1行)のみしか指定できないことに注意!

例:照合検索(>50,A1~C1,B3~D3)    結果は10

「照合一致関数」←新関数追加

新仕様で新たに定義された関数です。まず,セル範囲(引数2)にあるセルから,⁠照合値(引数1)と一致する値⁠⁠,または「照合値(引数1)以下の最大値⁠⁠,または「照合値(引数1)以上の最小値⁠⁠,が最初に出てくるセルを見つけます。どの値のセルを見つけるのかは,⁠検索の指定(引数3⁠⁠」で指定します。

さらに,検索条件に合致するセルが,照合範囲(引数2)の上(列の場合)または左(行の場合)から数えて何番目になるのかを数え,その値を返します。この関数で指定できる照合範囲(引数2)は,単独の列または行のみだということに注意しましょう。

例:照合一致(50,B1~D1,-1)    結果は2

『33定番の主役級関数「垂直照合関数」p.150~155』←新関数追加・機能追加

「垂直照合関数」は問題文中で定義される臨時の関数でしたが,仕様として定義されました。また,新しい引数(引数4:検索の指定)が加えられたことで,⁠値が一致するセルを探す⁠⁠,または「値以下で最大値のセルを探す」のどちらかが選べるようになりました。前者の場合は,本書p.150~155で解説した旧「垂直照合関数」と,同じ機能になります。

値が一致するセルを探す(引数4「検索の指定」が0)

例:垂直照合(B1~D3,64,3,0)    結果は11

値以下で最大値のセルを探す(引数4「検索の指定」が1)

例:垂直照合(A1~D3,50,4,1)    結果は57

「水平照合関数」←新関数追加

新仕様で新たに定義された関数です。名前から推測できるように,前述の「垂直照合関数」が縦(列)でセルを指定する範囲を設定するのに対して,⁠水平照合関数」は横(行)で範囲を設定します。行われる操作の順序は,⁠垂直照合関数」と同じです。

値が一致するセルを探す(引数4「検索の指定」が0)

例:水平照合(A1~D3,22,3,0)    結果は3

値以下で最大値のセルを探す(引数4「検索の指定」が1)

例:水平照合(A2~D3,20,1,1)    結果は11