エクセルの勉強部屋のホ−ムへエクセルの勉強部屋トップページへ
●検索+行列
 
ADDRESS 行番号と列番号からセルのアドレスを作成する
CHOOSE インデックスを使って、引数リストの値の中から特定の値を1つ返します
MATCH 検索値が検査範囲の中の何番目にあるかという位置をかえす
VLOOKUP 指定された 範囲 の左端の列で特定の値を検索し、範囲 内の対応するセルの値を返します
HLOOKUP 指定したテーブルまたは配列の上端行で特定の値を検索し、
その値と同じ値が入力されている行と列の値を返します
LOOKUP 表の中から必要な情報を検索する
OFFSET 基準 のセル範囲から指定された行数と列数だけシフトした位置にあるセル範囲の参照を返します
INDIRECT 指定した文字列により参照されるセルの値を返します
COLUMN セル参照の列番号を返します
ROW セル参照の行番号を返します
COLUMNS セル参照の列数を返します
ROWS セル参照の行数を返します
AREAS 指定した範囲に含まれる領域の個数を返します
TRANSPOSE 配列の縦方向と横方向のセル範囲の変換を行います
INDEX セル参照または配列から、指定したセルの参照または値を返します
HYPERLINK ネットワーク サーバー、イントラネット、
またはインターネット上にあるドキュメントを開くショートカットまたはジャンプを作成しま


ADDRESS
(行番号と列番号からセルのアドレスを作成する。)
書式 =ADDRESS(行番号,列番号,参照の型,参照の形式,シート名)
行番号
セル参照に使用する行番号を指定します。
列番号
セル参照に使用する列番号を指定します。
参照の型
次の一覧表を参考にして、作成するセル参照の型を指定します。
参照の型 を省略すると、1 を指定したと見なされ、絶対参照が使用されます。
参照の型  作成されるセル参照の型
1/省略 絶対参照
行が絶対参照で、列が相対参照
行が相対参照で、列が絶対参照
相対参照

参照形式

セル参照を A1 形式にするか R1C1 形式にするかを論理値で指定します。
参照形式 に TRUE(または1) を指定するか省略すると A1 形式のセル参照が作成され、参照形式 に FALSE(または0) を指定すると R1C1 形式のセル参照が作成されます。
シート名から
外部参照として使用されるワークシートの名前を文字列で指定します。シート名 を省略すると、シート名は使用されません。
使用例
ダブル クォーテーション (") は、戻り値が文字列であることを表します。
計算結果 計算式
"$C$2" =ADDRESS(2,3)
"C$2" =ADDRESS(2,3,2)
"R2C[3]" =ADDRESS(2,3,2,FALSE(または0))
"[Book1]Sheet1!R2C3" =ADDRESS(2,3,1,FALSE(または0),"[Book1]Sheet1")
"'EXCEL SHEET'!R2C3" =ADDRESS(2,3,1,FALSE(または0),"EXCEL SHEET")
↑検索+行列の先頭へ


CHOOSE
(インデックスを使って、引数リストの値の中から特定の値を1つ返します)
書式 =CHOOSE(インデックス,値1,値2,…)
インデッツクス
引数リストの何番目の値を選択するかを指定します
インデッツクスが1であれば、値1が返され、2であれば値2が返されます
値1、値2、...
インデックス に基づいて選択される値または動作を 1 〜 29 個まで引数リストの形で指定できます。
これらの引数には、数値、セル参照、名前、数式、関数または文字列を指定してください。
使用例
ダブル クォーテーション (") は、戻り値が文字列であることを表します。
計算結果 計算式
"第2段階" =CHOOSE(2,"第1段階","第2段階","第3段階","最終段階")
SUM(A1:A30) =SUM(A1:CHOOSE(3,A10,A20,A30))
   A 
 10   4 
計算結果 計算式
"新宿区" =CHOOSE(A10,"千代田区","港区","渋谷区","新宿区")
↑検索+行列の先頭へ


MATCH
(検査値が検査範囲の中の何番目にあるかという位置をかえす)
書式 MATCH(検査値, 検査範囲, 照合の型)
検査値
表の中で必要な項目を検索するために使用する値を指定します。
検査範囲
検査値 を含む隣接したセル範囲を指定します。検査範囲 は、配列または配列に対するセル参照を指定してもかまいません。
照合の型
-1、0、1 の数値のいずれかを指定します。照合の型 には、検査範囲 の中で 検査値 を探す方法を指定します。
照合の型 に 1 を指定すると、検査値 以下の最大の値が検索されます。
このとき 検査範囲 は、-2、-1、0、1、2、...、A、...、Z、...、ア、...、ン、...、FALSE(または0)、TRUE(または1) のように昇順で並べ替えられておく必要があります。
照合の型 に 0 を指定すると、検査値 に一致する値のみが検索の対象となります。このとき 検査範囲 を並べ替えておく必要はありません。
照合の型 に -1 を指定すると、検査値 以上の最小の値が検索されます。
このとき 検査範囲 は、TRUE(または1)、FALSE(または0)、...、ン、...、ア、...、Z、...、A、...、2、1、0、-1、-2、... のように降順で並べ替えられている必要があります。
照合の型 を省略すると、1 であると見なされます。


MATCH 関数では、指定したセルに含まれている値ではなく、検査範囲 内にある 検査値 に一致する値の位置が返されます。
たとえば、MATCH("b",{"a","b","c"},0) = 2 (配列 {"a","b","c"} の中で "b" の相対位置は 2 です)。

MATCH 関数では、英字の大文字と小文字は区別されません。
検査値 が見つからない場合は、エラー値 #N/A が返されます。
照合の型 に 0 を指定し、検査値 が文字列である場合、検査値 の中で、アスタリスク (*)、疑問符 (から) のワイルドカード文字を使うことができます。

使用例
 
  A B C
 51  収益(円) ドル 米国内での税率
 52 \5,365,000.00 $37,000.00 21.50%
 53 \5,510,000.00 $38,000.00 21.67%
 54 \5,655,000.00 $39,000.00 21.84%
 55 \5,800,000.00 $40,000.00 21.99%
 56 \5,945,000.00 $41,000.00 22.14%
 57 \6,090,000.00 $42,000.00 22.28%
 58 \6,235,000.00 $43,000.00 22.41%
計算式 計算結果
=MATCH(39000,B52:B58,1) 3
=MATCH(39000,B52:B58,0) 3
=MATCH(39000,B52:B58,-1) #N/A
↑検索+行列の先頭へ


VLOOKUP
(指定された 範囲 の左端の列で特定の値を検索し、範囲 内の対応するセルの値を返します。)
VLOOKUP 関数は、比較する値がデータ テーブルの左端の列に入力され、その位置から指定された列だけ右にある値を取り出す場合に使用します。
書式 =VLOOKUP(検索値,範囲,列番号,検索の型)
検索値
範囲 の左端の列で検索する値を指定します。検索値 には、値、セル参照、または文字列を指定します。
範囲
目的のデータが含まれるテーブルを指定します。セル範囲の参照、または List、Database のような名前を指定します。
範囲の左端の列のデータは、文字列、数値、論理値のいずれでもかまいません。
検索の型 に TRUE(または1) を指定した場合、範囲 の左端の列のデータは、昇順に並べ替えておく必要があります。
そうしないと、正しく計算が行われません。昇順の並べ替えでは、数値は 1 から 9、アルファベットは A から Z、かなは "あ" から "ん"、日付は古い順に配列されます。
検索の型 に FALSE(または0) を指定した場合は、範囲 のデータを並べ替えておく必要はありません。
英字の大文字と小文字は区別されません。
データを昇順に配列するには、[データ] メニューの [並べ替え] をクリックし、[昇順] をクリックします。
列番号
範囲 内で目的のデータが入力されている列を、左端からの列数で指定します。
列番号 に 1 を指定すると、範囲 の左端の列の値が返され、列番号 に 2 を指定すると、範囲 の左から 2 列目の値が返されます。
列番号 が 1 より小さいときは、エラー値 #VALUE! が返され、列番号 が 範囲 の列数より大きいときは、エラー値 #REF! が返されます。
検索の型
検索値 と完全に一致する値だけを検索するか、その近似値を含めて検索するかを、論理値で指定します。
TRUE(または1) を指定するか省略すると、検索値 が見つからない場合に、検索値 未満で最も大きい値が使用されます。
FALSE(または0) を指定すると、検索値 と完全に一致する値だけが検索され、見つからない場合は エラー値 #N/A が返されます。
解説
検索の型 に TRUE(または1) を指定し、検索値 が見つからない場合は、検索値 未満で最も大きい値が使用されます。
検索値 が 範囲 の左端の列の最小値より小さい場合、エラー値 #N/A が返されます。
使用例
 
   A   B   C    D   E 
  1  1気圧下での空気の物性        
  2 密度 粘性率 温度    
  3 (kg/m2) (kg/m*s) (℃)    
  4  0.457 3.55 500    1
  5  0.525 3.25 400    1
  6  0.616 2.93 300    1
  7  0.675 2.75 250    0.746
  8  0.746 2.57 200    0.1
  9  0.835 2.38 150    2
 10  0.946 2.17 100    
 11  1.09 1.95 50    
 12  1.29 1.71 0    
次の例は、上のワークシートのセル範囲 A4:C12 が、名前 "範囲" で定義されている場合です。
計算式 計算結果
=VLOOKUP(E4,範囲,1,TRUE(または1)) 0.946
=VLOOKUP(E5,範囲,2) 2.17
=VLOOKUP(E6,範囲,3,TRUE(または1)) 100
=VLOOKUP(E7,範囲,3,FALSE(または0)) 200
=VLOOKUP(E8,範囲,2,TRUE(または1)) #N/A(0.1 が左端の列の最小値より小さいため) 
=VLOOKUP(E9,範囲,2,TRUE(または1)) 1.71
↑検索+行列の先頭へ


HLOOKUP
(指定したテーブルまたは配列の上端行で特定の値を検索し、その値と同じ値が入力されている行と列の値を返します)

HLOOKUP 関数は、比較する値がデータ テーブルの上端行に入力され、その位置から指定された行だけ下にある値を取り出す場合に使用します。
比較する値が目的のデータと同じ行にある場合は、VLOOKUP 関数を使用してください

書式  =HLOOKUP(検索値, 範囲, 行番号, 検索の型)
検索値
範囲 の上端行で検索する値を指定します。検索値 には、値、セル参照、または文字列を指定します。
範囲
目的のデータが含まれるテーブルを指定します。セル範囲の参照、または List、Database のような名前を指定します。
範囲の上端行のデータは、文字列、数値、論理値のいずれでもかまいません。
"検索の型 に TRUE(または1) を指定した場合、範囲 の上端行のデータは、昇順に並べ替えておく必要があります。
そうしないと、正しく計算が行われません。
昇順の並べ替えでは、数値は 1 から 9、アルファベットは A から Z、かなは ""あ"" から ""ん""、日付は古い順に配列されます。
検索の型 に FALSE(または0) を指定した場合は、範囲 のデータを並べ替えておく必要はありません。"
英字の大文字と小文字は区別されません。
昇順、または行をキーにして列を配列するには、[データ] メニューの [並べ替え] をクリックします。
[オプション] をクリックし、[方向] の [列単位] をクリックして [OK] をクリックします。
[最優先されるキー] の並べ替える行をクリックし、[昇順] をクリックします。
行番号
範囲 内で目的のデータが入力されている行を、上端からの行数で指定します。
行番号 に 1 を指定すると、範囲 の上端行の値が返され、行番号 に 2 を指定すると、範囲 の上から 2 行目の値が返されます。
行番号 が 1 より小さいときは、エラー値 #VALUE! が返され、行番号 が 範囲 の行数より大きいときは、エラー値 #REF! が返されます。
検索の型
検索値 と完全に一致する値だけを検索するか、その近似値を含めて検索するかを、論理値で指定します。
TRUE(または1) を指定するか省略すると、検索値 が見つからない場合に、検索値 未満で最も大きい値が返されます。
FALSE(または0) を指定すると、検索値 と完全に一致する値だけが検索され、見つからない場合は エラー値 #N/A が返されます。
解説
検索の型 に TRUE(または1) を指定し、検索値 が見つからない場合は、検索値 未満で最も大きい値が使用されます。
検索値 が 範囲 の上端行の最小値より小さい場合、エラー値 #N/A が返されます。
検索の型 に FALSE(または0) を指定し、検索値 が見つからない場合は、エラー値 #N/A が返されます。
使用例
 
   A   B   C 
  1  ギア ベアリング ボルト
 2  4 4 9
 3  5 7 10
 4  6 8 11
 ↓計算式 ↓計算結果
 HLOOKUP("ギア",A1:C4,2,TRUE(または1)) 4
 HLOOKUP("ベアリング",A1:C4,3,FALSE(または0)) 7
 HLOOKUP("ベアリング",A1:C4,3,TRUE(または1)) 7
 HLOOKUP("ボルト",A1:C4,4,) 11
範囲 には、配列定数を指定することもできます。ダブル クォーテーション (") は、戻り値が文字列であることを表します。
HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE(または1)) = "c"
↑検索+行列の先頭へ


LOOKUP
(表の中から必要な情報を検索する。)
書式 =LOOKUP(検査値,検査範囲,対応範囲)
検査値
検査範囲 で検索する値を指定します。検査値 には、数値、文字列、論理値、または値を参照する名前やセル参照を指定することができます。
検査範囲
1 行または 1 列のみのセル範囲を指定します。検査範囲 に含まれる値は、文字列、数値、論理値のいずれかである必要があります。
重要
検査範囲 に入力されている値は、...、-2、-1、0、1、2、...、A、...、Z、...、ア、...、ン、...、FALSE(または0)、TRUE(または1) のようにコード順の昇順に配置されている必要があります。
そうでない場合、LOOKUP 関数では正しい値を見つけることができません。また、英字の大文字と小文字は区別されません。
対応範囲
1 行または 1 列のみのセル範囲を指定します。対応範囲 は 検査範囲 と同じサイズである必要があります。
検査値 が見つからないと、検査範囲 に含まれている 検査値 以下の最大の値が使用されます。
検査値 が 検査範囲 に含まれる最小値よりも小さいと、エラー値 #N/A が返されます。
使用例
 ↓検査範囲 ↓対応範囲 ↓検査値 ↓計算結果 ↓計算式
  A B C D
  重量 単価 重量 単価  
 142  0 60 150 80 =LOOKUP(C142,A142:A149,B142:B149)
 143 100 80      
 144 200 100      
 145  300 120      
 146 400 140      
 147 500 160      
 148 600 180      
 149 700 200      
この意味は、検査値(C142)の値を、検査範囲(A142:A149)の中からその行よりも大きく次の行よりも小さい範囲に対応する値を対応範囲(D5:D12)から検索して表示する。
この場合の、検査値などは数字でなくても計算式に使えるものなら、文字列でもOKです。
重要
検査範囲のデータは昇順に並んでいないと正しく検索できません。
検査範囲を昇順に並び替えてない場合。
  ↓検査範囲 ↓対応範囲 ↓検査値 ↓計算結果 ↓計算式
  A B C D E
 156  曜日 英語 曜日 英語表記  
 157  Sunday #N/A =LOOKUP(C156,A156:A163,B156:B163)
 158  Monday      
 159  Tuesday      
 160  Wednesday      
 161  Thursday      
 162  Friday      
 163 Saturday      
検査範囲を昇順に並び替えの方法
検査範囲と対応範囲(A168:B175)選択し、「データ」「並び替え」
最優先されるキーを「曜日」とし、昇順のボタンをチェックしOKボタンを押します。
範囲の先頭行の「タイトル行」のボタンを押し、OKボタンを押します。

検査範囲を昇順に並び替えた場合
  ↓検査範囲 ↓対応範囲 ↓検査値 ↓計算結果 ↓計算式
  A B C D E
 169  曜日 英語 曜日 英語表記  
 170  Tuesday Friday =LOOKUP(C169,A169:A176,B169:B176)
 171  Friday      
 172  Monday      
 173  Wednesday      
 174  Saturday      
 175  Sunday      
 176 Thursday      

↑検索+行列の先頭へ


OFFSET
(基準 のセル範囲から指定された行数と列数だけシフトした位置にあるセル範囲の参照を返します)
書式 =OFFSET(基準, 行数, 列数, 高さ, 幅)
基準
基準となるセル範囲の参照を指定します。基準 が、セルまたは隣接するセル範囲以外を参照する場合は、エラー値 #VALUE! が返されます。
行数
基準 の左上隅のセルを上方向または下方向へシフトする距離を行数単位で指定します。
行数 に 5 を指定すると、オフセット参照の左上隅のセルは、基準 の左上隅のセルから 5 行下方向へシフトします。
行数 に正の数を指定すると下方向へシフトし、負の数を指定すると上方向へシフトします。
列数
基準 の左上隅のセルを左方向または右方向へシフトする距離を列数単位で指定します。
列数 に 5 を指定すると、オフセット参照の左上隅のセルは、基準 の左上隅のセルから 5 列右方向へシフトします。
列数 に正の数を指定すると右方向へシフトし、負の数を指定すると左方向へシフトします。
行数 と 列数 で 基準 のセル範囲をシフトした結果、オフセット参照の左上隅のセルがワークシートの外へ出てしまう場合、エラー値 #REF! が返されます。
高さ
オフセット参照の行数を指定します。高さ は正の数である必要があります。
オフセット参照の列数を指定します。幅 は正の数である必要があります。
高さ または 幅 を省略すると、基準 のセル範囲と同じ行数または列数であると見なされます。
解説
OFFSET 関数は、実際にセルを移動させたり、選択対象を変更したりしないで、ただセル参照を返すだけです。
OFFSET 関数は、セル参照を引数として使う関数と共に使います。
たとえば、次の数式 SUM(OFFSET(C2,1,2,3,1)) では、セル C2 を基準とし、セル C2 から下方向に 1 行、右方向に 2 列シフトし、高さが 3 行で 幅が 1 列のセル範囲の値を合計します。
使用例
OFFSET(C3,2,3,1,1) = F5
上の数式をワークシートのセルに入力すると、セル F5 に含まれる値が表示されます。
OFFSET(C3:E5,-1,0,3,3) = C2:E4
OFFSET(C3:E5,0,-3,3,3) = #REF!
↑検索+行列の先頭へ


INDIRECT
(指定した文字列により参照されるセルの値を返します)
書式 =INDIRECT(参照文字列, 参照形式)
参照文字列
参照形式 形式の参照、R1C1 形式の参照、セル範囲を参照する名前が入力されているセルの参照、または名前によるセル参照を指定します。
参照文字列 に適切なセル参照を指定していないと、エラー値 #REF! が返されます。
参照形式
参照文字列 で指定されたセルに含まれるセル参照の種類を、論理値で指定します。
参照形式 に TRUE(または1) を指定するか省略すると、参照文字列 には A1 形式のセル参照が入力されていると見なされます。
参照形式 に FALSE(または0) を指定すると、参照文字列 には R1C1 形式のセル参照が入力されていると見なされます。
解説
参照文字列 で他のブックを参照している場合 (外部参照)、そのブックを開いておく必要があります。
参照先のブックを開いていない場合、INDIRECT 関数は、エラー値 #REF! を返します。
使用例
 
   A   B 
 1  B2  
 2    1.333
INDIRECT($A$1) = 1.333
この場合に、セル A1 の文字列を "C5" に変更し、セル C5 に 45 という数値が入力されていると、次のようになります。
INDIRECT($A$1) = 45

次の例は、セルの参照形式が R1C1 形式に設定されている場合
   1   2 
 1  R2C2  
 2    1.333
INT(INDIRECT(R1C1,FALSE(または0))) = 1

次の例は、セル B3 に "斉藤" という文字列が入力されていて、斉藤という名前で定義されているセルに 10 という数値が入力されている場合です。
INDIRECT($B$3) = 10

セルを参照する数式を作成する場合、セルの参照は、そのセルが [切り取り] コマンドを使用して削除されて移動したり、行や列が挿入または削除されて移動したりするときに更新されます。
数式で参照しているセルが移動されたり、そのセルの周囲の列が削除されたりする場合にも、常に、数式が同一のセルを参照するようにするには、INDIRECT ワークシート関数を使います。
たとえば、常に、セル A10 を参照する場合は、次のようになります。
INDIRECT("A10")

↑検索+行列の先頭へ


COLUMN
(セル参照の列番号を返します)
書式 =COLUMN(範囲)
範囲
列番号を調べるセルまたはセル範囲の参照を指定します。
範囲 を省略すると、COLUMN 関数が入力されているセルの列番号が返されます。
範囲 がセル範囲に対する参照で、COLUMN 関数が横方向の配列として入力されている場合、範囲の列番号も横方向の配列となります。
範囲 に複数選択範囲 (連続しない複数のセルまたはセル範囲) を指定することはできません。
使用例
COLUMN(A3) = 1
水平方向に連続する 3 つのセルに、次の数式が配列として入力されている場合、
COLUMN(A3:C5) = {1,2,3}
COLUMN 関数がセル C5 に入力されている場合、
COLUMN() = COLUMN(C5) = 3
↑検索+行列の先頭へ


ROW
(セル参照の行番号を返します)
書式 =ROW(範囲)
範囲
行番号を調べるセルまたはセル範囲の参照を指定します。
範囲 を省略すると、ROW 関数が入力されているセルの行番号が返されます。
範囲 がセル範囲に対する参照で、ROW 関数が縦方向の配列として入力されている場合、範囲 の行番号は縦方向の配列となります。
範囲 に複数の選択範囲 (連続しない複数のセルまたはセル範囲) を指定することはできません。
使用例
ROW(A3) = 3
次の例は、垂直方向に連続する 3 つのセルに、次の数式が配列数式として入力されている場合です。
ROW(A3:B5) = {3;4;5}
次の例は、ROW 関数がセル C5 に入力されている場合です。
ROW() = ROW(C5) = 5
↑検索+行列の先頭へ


COLUMNS
(セル参照の列数を返します)
書式 =COLUMNS(配列)
配列
列数を計算する配列、配列数式、またはセル範囲の参照を指定します。
使用例
COLUMNS(A1:C4) = 3
COLUMNS({1,2,3;4,5,6}) = 3
COLUMNS(INDEX(SELECTION(),,,AreaNum))
↑検索+行列の先頭へ


ROWS
(セル参照の行数を返します)
書式 =ROW(配列)
配列
行数を計算する配列、配列数式、またはセル範囲の参照を指定します。
使用例
ROWS(A1:C4) = 4
ROWS({1,2,3;4,5,6}) = 2
↑検索+行列の先頭へ


AREAS
(指定した範囲に含まれる領域の個数を返します)
書式 =AREAS(範囲)
範囲
セルまたはセル範囲の参照を指定します。
複数の領域に対する参照 (複数選択した範囲) を指定してもかまいません。
複数のセル参照を 1 つの引数として指定するときは、それぞれのセル参照を半角のカンマ (,) で区切り、全体を 1 組のかっこ () で囲む必要があります。
このようにすると、カンマが引数の区切り文字として解釈されなくなります。具体的な例は、2 番目の使用例を参照してください。
使用例
AREAS(B2:D4) = 1
AREAS((B2:D4,E5,F6:I9)) = 3
価格という名前が領域 B1:D4、B2、E1:E10 を参照している場合、
AREAS(価格) = 3
↑検索+行列の先頭へ


TRANSPOSE
(配列の縦方向と横方向のセル範囲の変換を行います)
書式 =TRANSPOSE(配列)
配列
行列変換を行うワークシートの配列またはセル範囲を指定します。
配列の行列変換を行うと、元の配列の第 1 行が新しい配列の第 1 列になり、元の配列の第 2 行が新しい配列の第 2 列 (以下同様) になります。

メモ  この使用例の数式は、配列数式として入力する必要があります。使用例を新規ワークシートにコピーした後、A5:A7 のセル範囲 (配列数式が入力されているセルが左上になる) を選択します。F2 キーを押し、Ctrl キーと Shift キーを押しながら Enter キーを押します。この数式が配列数式として入力されていない場合、単一の値 1 のみが計算結果として返されます。
 

使用例
セル範囲 A1:C1 に数値 1、2、3 が入力されているとき、次の数式をセル範囲 A3:A5 に配列数式として入力すると、A3 に 1、A4 に 2、A5 に 3 がそれぞれ表示されます。
TRANSPOSE($A$1:$C$1) = {1;2;3}
↑検索+行列の先頭へ


INDEX
(セル参照または配列から、指定したセルの参照または値を返します)
書式 1 =INDEX(範囲, 行番号, 列番号, 領域番号)
範囲
1 つまたは複数のセルの参照を指定します。
範囲 として複数選択された領域を指定する場合は、範囲 をかっこ () で囲み、複数選択を構成するそれぞれの領域を半角のカンマ (,) で区切ります。
詳細については、5 番目の使用例を参照してください。
範囲 で指定した各領域が 1 行または 1 列である場合、行番号 または 列番号 はそれぞれ省略することができます。
たとえば、範囲 が 1 行のみである場合は、INDEX(範囲,, 列番号) と指定できます。
行番号
範囲 の中にあり、セル参照を返すセルの行位置を数値で返します。
列番号
範囲 の中にあり、セル参照を返すセルの列位置を数値で返します。
領域番号
範囲 に複数選択された領域を指定した場合、その中の 1 つの領域を数値で指定します。
指定した領域の中から 行番号 と 列番号 が交差する点にあるセルの参照が返されます。
最初に選択または入力された領域の 領域番号 が 1 となり、以下、2 番目の領域は 2、3 番目の領域は 3 と続きます。
領域番号 を省略すると、1であると見なされます。
たとえば、範囲 として (A1:B4,D1:E4,G1:H4) のような複数選択領域が指定されている場合、領域番号 の 1 は A1:B4、領域番号 の 2 は D1:E4、領域番号 の 3 は G1:H4 となります。
INDEX 関数 では、まず 範囲 と 領域番号 を使って特定の範囲が選択され、次に 行番号 と 列番号 から特定のセルが選択されます。
行番号 の 1 は選択された範囲の先頭行 (上端行) を指定し、列番号 の 1 は選択された範囲の先頭列 (左端列) を指定します。
INDEX 関数が返すセル参照は、行番号 と 列番号 が交差する点にあるセルの参照となります。
行番号 または 列番号 に 0(ゼロ) を指定すると、列または行全体の参照がそれぞれ返されます。
解説
行番号、列番号、領域番号 には、範囲 内にあるセルまたは領域を指定します。範囲 外の対象を指定してしまうと、エラー値 #REF! が返されます。
行番号 と 列番号 を省略すると、領域番号 で指定されるセル範囲内の領域が返されます。
INDEX 関数の計算結果はセル参照となり、他の数式はこれを通常のセル参照と同様に扱います。
INDEX 関数の計算結果は、セル参照または値として使用されます。たとえば、CELL("width",INDEX(A1:B2,1,2)) という数式は、CELL("width",B1) と同じ結果になります。
これは CELL 関数が、INDEX 関数の計算結果を通常のセル参照と同じであると解釈するためです。
一方、2*INDEX(A1:B2,1,2) のような数式では、INDEX 関数の計算結果はセル B1 に入力されている数値に変換されます。
使用例
次のワークシートでは、セル範囲 A2:C6 に "フルーツ" という名前が定義されており、セル範囲 A8:C11 には "ナッツ"、またセル範囲 (A2:C6,A8:C11) には "在庫" という名前が定義されています。
  A B C
 1    単価 個数
 2 りんご \97 40
 3 バナナ \48 38
 4 レモン \77 15
 5 オレンジ \35 25
 6 洋梨 \83 40
 7      
 8 アーモンド \392 10
 9 カシューナッツ \497 16
10 ピーナッツ \175 20
11 マカデミアナッツ \245 12
INDEX(フルーツ,2,3) = セル C3 の参照 (38 という数値が入力されています)
INDEX((A1:C6,A8:C11),2,2,2) = INDEX(A8:C11,2,2) = セル B9 の参照 (497 という数値が入力されています)
SUM(INDEX(在庫,0,3,1)) = SUM(C1:C6) = 158
SUM(B2:INDEX(フルーツ,5,2))=SUM(B2:B6) = 340 (SUM 関数はセル参照を利用します)


書式 2 =INDEX(配列, 行番号, 列番号)

配列
セル範囲または配列定数を指定します。
行番号
配列 の中にあり、値を返す行を数値で指定します。行番号 を省略した場合は、必ず 列番号 を指定する必要があります。
列番号
配列 の中にあり、値を返す列を数値で指定します。列番号 を省略した場合は、必ず 行番号 を指定する必要があります。
配列 が 1 行または 1 列である場合、それぞれ 行番号 または 列番号 を省略することができます。
配列 が複数行および複数列で構成され、行番号 または 列番号 のどちらか一方しか指定されていない場合、配列 の中にある行または列全体の配列が返されます。
行番号 または 列番号 に 0 (ゼロ) を指定すると、それぞれ列全体または行全体の値の配列が返されます。
配列として返される値を利用するには、INDEX 関数を配列数式として横方向のセル範囲に入力します。
配列数式を入力するときは、Windows 版 Excel では Ctrl + Shift + Enter キーを押し、Macintosh 版 Excel では+ Return キーを押します。
解説
行番号 と 列番号 には、配列 内のセルを指定します。配列 の範囲外のセルを指定すると、エラー値 #REF! が返されます。
使用例
ダブル クォーテーション (") は、戻り値が文字列であることを表します。
INDEX({1,2;3,4},2,2) = 4
次の例は、数式が配列数式として入力されている場合です。
INDEX({1,2;3,4},0,2) = {2;4}
 
  B C
 5  りんご レモン
 6 バナナ
INDEX(B5:C6,2,2) = "梨"
INDEX(B5:C6,2,1) = "バナナ"
↑検索+行列の先頭へ


HYPERLINK
(ネットワーク サーバー、イントラネット、またはインターネット上にあるドキュメントを開くショートカットまたはジャンプを作成します)
書式 =HYPERLINK(リンク先, 別名)
リンク先
テキストとして開くドキュメントへのパスとファイル名を指定します。リンク先 には、Excel のワークシートまたはブックの特定のセルや名前付き範囲などの、ドキュメント内の特定の位置や、Word の文書のブックマークを指定することができます。パスには、ハード ディスクに格納されているファイルへのパス、Windows 版 Excel を使用している場合はサーバー上の UNC (Universal Naming Convention) パス、またはインターネットやイントラネットの URL (Uniform Resource Locator) パスを指定することができます。
別名
セルに表示する文字列または数値を指定します。別名 は、青色で下線が付けられて表示されます。別名 を省略すると、セルには リンク先 で指定した文字列が表示されます。
解説
リンク先 には、文字列をダブル クォーテーションで囲んで指定するか、またはリンクが設定されているセルを文字列として指定することができます。
別名 には、数値、文字列、名前、または文字列や数値を含むセルを指定することができます。
別名 で指定した項目にエラー値 (#VALUE! など) が含まれる場合は、セルにはそのエラー値が表示されます。
リンク先 に存在しないジャンプ先を指定するか、またはそのジャンプ先に移動できない場合は、そのセルをクリックするとエラー メッセージが表示されます。
ハイパーリンクが設定されているセルを選択するには、そのセルの隣のセルをクリックしてから、方向キーを使って選択するセルに移動します。
使用例
次の使用例は、インターネット上の "www.business.com/report" というアドレスに格納されている "Budget Report.xls" というブックにジャンプするハイパーリンクをアクティブ セルに設定します。
アクティブ セルには、"予算報告書を表示するには、ここをクリックしてください。" という文字列が表示されます。
HYPERLINK("http://www.business.com/report/budget report.xls", "予算報告書を表示するには、ここをクリックしてください。")

次の使用例は、インターネット上の "www.business.com/report" というアドレスに格納されている "Budget Report.xls" というブックの "Annual" というワークシートのセル F10 にジャンプするハイパーリンクをアクティブ セルに設定します。アクティブ セルには、セル D1 の内容が表示されます。

HYPERLINK("[http://www.business.com/report/budget report.xls]Annual!F10", D1)

次の使用例は、インターネット上の "www.business.com/report" というアドレスに格納されている "Budget Report.xls" というブックの "First Quarter" というシートの "DeptTotal" という名前付き範囲にジャンプするハイパーリンクをアクティブ セルに設定します。アクティブ セルには、"第一四半期の部門別合計を表示するには、ここをクリックしてください。" という文字列が表示されます。

HYPERLINK("[http://www.business.com/report/budget report.xls]First Quarter!DeptTotal", "第一四半期の部門別合計を表示するには、ここをクリックしてください。")

Word 文書の特定の位置にジャンプするには、あらかじめその位置にブックマークを定義しておく必要があります。次の使用例は、インターネット上の "www.business.com" というアドレスに格納されている "Annual Report.doc" という文書内の "QrtlyProfits" というブックマークにジャンプするハイパーリンクをアクティブ セルに設定します。

HYPERLINK("[http://www.business.com/Annual Report.doc]QrtlyProfits", "Quarterly Profit Report")

Windows 版 Excel の場合、次の使用例は、"FINANC" というサーバーの "Statements" という共有ポイントに格納されてる "1stqtr.xls" というファイルにジャンプするハイパーリンクをアクティブ セルに設定します。
アクティブ セルには、セル D5 の内容が表示されます。
HYPERLINK("\\FINANCE\Statements\1stqtr.xls", D5)

Windows 版 Excel の場合、次の使用例は、D ドライブの "FINANCE" フォルダに格納されている "1stqtr.xls" というファイルにジャンプするハイパーリンクをアクティブ セルに設定します。アクティブ セルには、セル H10 の内容が表示されます。
HYPERLINK("D:\FINANCE\1stqtr.xls", H10)

Windows 版 Excel の場合、次の使用例は、"Mybook.xls" という別のブックの "Totals" という名前のセル範囲にジャンプするハイパーリンクを作成します。
HYPERLINK("[C:\My Documents\Mybook.xls]Totals")

Macintosh 版 Excel の場合、次の使用例は、セルに "ここをクリックしてください。" と表示し、ハード ディスク "Macintosh HD" の "Budget Reports" フォルダに保存されている "First Quarter" というファイルを開きます。
HYPERLINK("Macintosh HD:Budget Reports:First Quarter","ここをクリックしてください。")

同じワークシート内のセルから他のセルにジャンプするハイパーリンクを作成できます。
たとえば、"Budget" というブックの "June" というワークシートで作業している場合、次の例は、セル E56 にジャンプするハイパーリンクを作成します。セル E56 の値が、リンクの文字列になります。
HYPERLINK("[Budget]June!E56",E56)
同じブックの別のワークシートにジャンプするには、リンクのワークシート名を変更します。
前の例で "September" というワークシートの セル E56 にジャンプするリンクを作成するには、"June" を "September" に変更します

↑検索+行列の先頭へ