回答:
VBAスクリプトに頼ることなく、2つの小さなテーブルを作成する必要があります。最初の列はインデックス、2番目の列は行/列のタイトルです。
したがって、元のテーブルに、Row1、Row2、Row3、Row4、Row5、およびCol1、Col2、Col3などの単純なタイトルの5行3列があるとします。そしてこの表は A1
実際の値は B2
そしてに行く D6
。
だから、あなたはこのようなものがあるでしょう:
リボンの[開発者]タブで[次へ]をクリックします。 Insert
> Combo Box (ActiveX Control)
。ドロップダウンリストを配置する場所に2つのコンボボックスを作成します。
デザインモードになっていない場合は、デザインモードをクリックします。
ColumnCount
フィールド、2と入力 ColumnWidths
フィールド、0を入力 LinkedCell
例として、フィールドに画面外のセル値を入力します。 Y1
ListFillRange
フィールドとして、行インデックスと行タイトル列をカバーする範囲を入力します。上の例の画像を使用して、次のように入力します。 M1:N5
Z1
=INDEX(B2:D6,Y1,Z1)
基本的に LinkedCell
コンボボックスの値、行と列のインデックスが入力されている Y1
そして Z1
それぞれ。そこから我々は使用します Index
テーブル内の行と列のオフセットの値を取得する関数 B2:D6
。
注:行の場合は、既存の行タイトルの右側に列を追加して行インデックスを入力する(そして列を非表示にする)ことができます。しかし列の場合は、新しいテーブルを作成する必要があります。 ListFillRange
コンボボックスのフィールドは水平配列を受け付けません。 (それは可能ですが、必要な目的のためではありません。)
INDIRECT
: cpearson.com/excel/indirect.htm