参照するセルの位置を計算結果で動的に変更する
質問:Excelで計算結果の値に参照するセルの位置を変えたい
Excelで計算結果によりシートの参照位置を変えたいです。計算結果が1の場合はA6セルを参照し、計算結果が2の場合はB6セル、
3の場合はC6セルと計算結果の値に応じて参照するセルの位置を変えたいです。
どうすればよいでしょうか?
はじめに
参照するセルの位置を計算結果で変更したり、セルに入力された数値をもとに参照するセルを決定したい場合があります。
その際、数式で参照するセルの位置を動的に変更したり、変数で指定したいです。
通常、数式中のセルの参照は以下の記述で参照できます。
しかし、以下の記述では、C2のセルを参照できません。
この記事では、OFFSET関数を利用する方法、INDIRECT関数を用いる方法で
値に応じて参照するセルの位置を変更する数式を紹介します。
メモ
数式内でセルを単純に参照する方法については
こちらの記事を参照してください。
OFFSET関数を用いる方法
OFFSET関数を使うと指定したセルから、関数のパラメータで指定した値だけ、セルの参照位置を移動できます。書式は以下になります。
書式
OFFSET((開始セル),(範囲開始位置の行オフセット), (範囲開始位置の列オフセット))
または、
OFFSET((開始セル),(範囲開始位置の行オフセット), (範囲開始位置の列オフセット), (範囲行), (範囲列))
記述例
下記の数式はC4セルを参照します。
下記の数式はF6セルを参照します。
C4セルから行(縦方向)で2セル、列(横方向)で3セル移動したセルの参照となります。
例1
具体例で動作を確認します。B列のB2セルから次の値を入力します。

続いて、D2セルに 0 を入力します。
B8セルに以下の数式を入力します。
数式を入力すると、B8セルには 10 が表示されます。B2セルの値を参照していることがわかります。
D2セルの値を 2 に変更します。OFFSET関数の第一引数で指定した、B2セルから、D2セルの数だけ下方向に移動します。D2セルの値を 2 に変更しましたので、
B2セルから2つ下のB4セルの値が、D2セルに表示されます。下図の結果でも、D2セルの値 20 がB8セルに表示されています。
D2セルの値を 4 に変更すると B2セルから4つ下の、B5セルの値がB8セルに表示されます。
例2
先の例では行方向に参照位置を移動しましたが、列方向に移動する場合の例です。
2行目B列から以下の値を入力します。
また、B4セルに 0 を入力します。
B6セルに次の数式を入力します。横方向(列方向)へのオフセットを指定する場合は、OFFSET関数の第三引数に数値を与えます。
数式を確定します。B4セルの値は 0 なので、B2セルの値がB6セルに表示されます。下図でも、B2セルの値 12 が表示されています。
B4セルの値を2に変更します。基準のB2セルから右に2つシフトしたセルである、D2セルの値が表示されます。
B4セルの値を4に変更した場合は、B2セルから右に4つシフトしたF2セルの値が表示されます。
INDIRECT関数を用いる方法
INDIRECT関数を使うと、関数に与えた文字列のセルを参照できます。
書式
記述例
下記の数式はB4セルを参照します。
下記の数式はE5セルを参照します。
下記の数式はF2セルに記載されているアドレスのセルを参照します。F2セルに"H5"が入力されていれば、H5セルを参照します。
例
具体例で動作を確認します。B列のB2セルから次の値を入力します。
また、D3セルに 2 を入力します。
B8セルに次の数式を入力します。
B8セルには、D2セルに入力された行数のB列の値が表示されます。D2セルに 2 が入力されているため、"B" と D2 セルの値が連結され、"B2" セルの値がB8セルに表示されます。
数式を確定すると、B2セルの値 10 がD8セルに表示されることが確認できます。
D2セルの値を 6 に変更します。B6セルの値 4 がB8セルに表示されます。
INDIRECT関数を用いると引数で与えた文字列が示すセルを取得できます。
A.W.S (Another World Story)

午後の光が傾きはじめ、教室の床に残されたチョークの粉が金色にきらめいていた。窓辺のカーテンがふわりと膨らみ、遠くのグラウンドからは野球部の掛け声が風に乗る。
朝倉はノートPCのディスプレイを指先でトントン叩きながら、隣の篠崎をちらりと見た。
「――で、本当に行も列も動かしたいんだな?」
「うん。生徒番号を入れたら成績がぽんと出てくる。列を変えればテスト1から5まで切り替わる。ほら、映画みたいに“数字が走る”やつ、憧れるじゃん」
篠崎の声は弾んでいるが、目の下にはくっきりと夜更かしの影。机に置いたペットボトルのコーヒーは、すでに氷が溶けて薄い。
朝倉は軽く笑った。
「じゃあ“迷路の鍵”を渡してやるよ。でも、途中で振り向いたら化け物が出るかもな」
「ホラー映画のフラグ立てないでくれ」
二人は肩を寄せ、キーボードをたたく音だけが静かな教室に響いた。数式は黒い洞窟の壁画のようにシートへ刻まれ、セルの座標がぬるりと動く。
行が滑り、列が跳ねる。そのたびに篠崎の瞳は少年のように輝いた。
――やがて夕焼けが赤く窓ガラスを染めたころ。
「よし、できた!」
篠崎が Enter キーを押すと、瞬間、表の数字が一斉に跳ね上がる。パズルのピースがハマった拍子にカシャンと錠が外れるような快音だった。
だが、そこで教室のドアがギイと軋む。井出先生が顔を出し、腕時計を確かめた。
「おいおい、もうすぐ下校時刻だぞ。――お、また Excel で魔法陣を描いてるのか?」
朝倉と篠崎は慌てて画面を隠そうとしたが、先生はすでに鋭い目でシートを見抜いている。にやりとした笑み――誰も知らない秘密の抜け道を熟知した案内人の笑みだった。
「お前ら、最後に確認しとけ。“入口” と “出口” を間違えるなよ」
そう言うと、先生は天井の時計を指さした。
――あと三分で自動消灯。
慌てて保存ボタンを押す篠崎。その指がかすかに震え、列番号を示すセルに触れた。
次の瞬間。
ポン。
シートの端に現れた見知らぬメッセージボックス。
『成績一覧シートを弄った者は追加レポート10枚を提出せよ』
篠崎の顔色がみるみる蒼白に変わる。朝倉は目を丸くし、先生は肩をすくめた。
「ほらな? セルの位置を動かせるってことは、罠の位置も動かせるんだよ」
パチン、と蛍光灯が落ちる。窓の外ではカラスが夕空を二羽、ゆったりと横切った。
薄暗い教室で、レポート10枚分の静かな悲鳴がこだまする。セルの迷路を制したと思った二人の行く手に待っていたのは、先生の仕掛けた“動的トドメ”だったのだ。
それでも――
朝倉は肩を揺らしながら笑った。「なぁ篠崎。追加レポートのファイル、セル参照で量産するか?」
篠崎は頭を抱えたまま、かすかに親指を立てた。
教室の窓辺でカーテンがまた膨らむ。今度は、二人の笑い声をやさしく受け止めるように。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2011-06-07
改訂日: 2023-08-19