【IT】Excelのテキストボックスにセルから参照した値を表示する方法と活用例

テキストボックスで値の参照

テキストボックスでセルの値を参照

WordやExcelといったOfficeアプリでは [挿入] – [図形] からテキストボックスを配置する事ができる。

セルの区切りを気にせず、イラストや図形の上にも文字が書けるので便利。

テキストボックスの挿入

テキストボックスは直接文字を打ち込む使い方が一般的だけど、別のセルを参照する事もできる。

やり方はセルの時と同じ。

数式バーに参照先アドレスを指定するだけ。

テキストボックスの数式バーにA1と入力

例えば「A1」の文字列を参照したければ、テキストボックスを選択した状態で「=A1」としてやればその内容が表示される。

A1の値を表示

参照先の値を書き換えればテキストボックスにも瞬時に反映される。

A1の値を書き換え

「わざわざセルから取得しなくても直接入力すれば良いのでは?」と思うだろうが、参照にした方が便利なケースもある。

例を1つ紹介してみよう。

活用例

例えば座席表を作るとする。

A4用紙1枚分に収まるようにレイアウト。

A4用紙1枚の座席表

次にテキストボックスに五十音順で名前を入れていく。

ここでは直接文字列を入力。

名前を入力

完成イメージ。

一見何の問題もない。

印刷イメージ

しかし参加者から欠席連絡があったらどうだろう?

欠席連絡

座席8の織田氏を削除して、後ろの名前を1つずつずらしていく作業が発生する。

欠席者を削除して1つずつずらす

最後の毛利氏まで10回以上の移動。

最後の名前をずらす

もしこのような変更が度々発生するとしたら非常に手間だ。

ここで参照の出番。

印刷範囲外に参加者一覧を作成しておき、こちらを変更するだけで名前の位置が自動的にずれてくれれば大助かりだ。

印刷範囲外にリストを作成

しかし話はそう単純ではない。

先ほどの例でいうとN8セル (織田氏) を右クリックして [削除] – [上方向にシフト] を実行すると参照が崩れてしまう。

具体的には座席8のテキストボックスの参照先が「=#REF!」になり、座席9以降の参照先が1つずつ繰り上がる。

N8セルを削除して上方向にシフト

ではどうすれば良いか?

最も簡単な回避策は、参照用に列を1つ追加してやることだ。

今回はVLOOKUP関数を使用。

VLOOKUP列を追加

VLOOKUP関数は検索範囲と条件を指定して、該当するセルの値を取得するというもの。

オートフィル(下までのコピーで規則性のある部分を自動修正してくれる)と組み合わせれば番号に対応した名前が取得できる。

VLOOKUP関数の概要

N列の写しのO (オー) 列ができたので、テキストボックスはO列を参照するように設定。

VLOOKUPでミラー列を作成

この状態であればN8セルを削除して上に詰めても問題ない。

テキストボックスはO列しか見ておらず、O列は値が変わることはあってもセルが消えることはないので安泰だ。

必要なら図形の大きさや文字サイズは適宜調整しよう。

これで、テキストボックスを1つずつ後ろにずらす操作は不要になった。

N8のセルを削除して上に詰めた結果

このシートを使うのが自分だけならこのままで問題ないが、他人も使うならO列を保護したり離れた場所に配置するのが親切。

テキストボックスの注意書きを貼っておくだけでも効果はある。

テキストボックスの注意書き

座席表に限らず。

削除があったら詰める緊急連絡網とか、

緊急連絡網

外観はそのまま中身が入れ替わる表とか、

星座占い

他にも使い道はありそうだ。

「テキストボックスでアドレス指定? 自分は使わない」と切り捨てるのは簡単だけど、どこで何が役に立つかは分からない。

色んな知識を身につけておこう。