gijyutsu-keisan.com

検索・行列関数

関数 > Excel

参照文字列のセル値を取得する

=INDIRECT(参照文字列,[参照形式])
INDIRECT関数は参照文字列にセル/セル範囲のアドレスや名前を指定するとその参照先の値を返します。
以下の例ではINDIRECT関数の引数にセル”F3”を指定しています。
アドレスや名前以外が記入されているとエラーになります。
次に、赤枠の範囲を”工数”と名前を付けてINDIRECT関数の引数に指定した場合、よくわからない数値が返ってきました。
INDIRECT関数の引数にセル範囲を指定したときは、戻り値もセル範囲(配列)で戻ってくるため、 そのまま表示しようとすると1つの値が表示されます。
そのため範囲に含まれるデータ達を処理する関数を用意しなくてはいけません。
ここでは例としてINDIRECT関数の戻り値をSUM関数で合計してみます。
今回のように第2引数の参照形式を省略するかTrueを指定するとセル番地は”A1形式”でないといけません。 逆に、第2引数にFalseを指定すると、セル番地は”R1C1形式”でないといけません。

リストの左端を検索し右側列の値を取得する

=VLOOKUP(検索値,範囲,列番号,[検索の型])
VLOOKUP関数は検索値をリストの左端から探し、その右側の指定列の値を返します。
例えば、以下のリストから”指定した作業リスト”に対応する”工数”、”作業者”を関数で求めるためには以下のように指示します。
検索の型の指示方法は以下2通りあります。
  • TRUE」もしくは[省略](「1」と入力してもOK)
    検索値が見つからない場合に、検索値未満で最も大きい値が返されます。
    (注)検索範囲の値は昇順に並べておく必要があります。
  • 「FALSE」(「0」と入力してもOK)
    検索値と完全に一致する値だけが検索され、見つからない場合はエラー値 #N/A が返されます。
    文字列の検索に適します。

リストの上端を検索し下側行の値を取得する

=HLOOKUP(検索値,範囲,行番号,[検索の型])
HLOOKUP関数はVLOOKUP関数と考え方は同じで、VLOOKUP関数は左端を検索し右側のセル値を返すのに対しHLOOKUP関数は上端を検索し下側のセル値を返します。

範囲内で値を検索し見つかった値が何番目に位置するかを取得する

=MATCH(検索値,範囲,[照合の型])
MATCH関数は検索値が範囲内の何番目に位置するかを返します。
例えば以下のリストで”東京”が何番目に位置するか調べるときは、
選択範囲の上から3番目であることがわかります。
この関数はLOOKUP関数やMATCH関数と一緒に使われることが多いです。
照合の型の指示方法は以下3通りあります。
  • 「0」
    検索値と完全に一致する値だけが検索され、見つからない場合はエラー値 #N/A が返されます。
  • 「1」
    検索値が見つからない場合に、検索値以下で最も大きい値が返されます。
    (注)検索範囲の値は昇順に並べておく必要があります。
  • 「-1」
    検索値が見つからない場合に、検索値よりも大きい最小の値が返されます
    (注)検索範囲の値は降順に並べておく必要があります

参考文献

関連ページ