Excel - 2ドロップダウンリストを使用して行と列の交点のセル値を3番目のセルに出力する


0

私は利益率を決定するためにゲームの製作コストを計算するためのスプレッドシートを作成しています。 2つのドロップダウンリストを表示したい、スプレッドシートのセクションがあります。最初の例ではテーブルの列タイトルを選択し、次の例ではテーブルの行タイトルを選択します。 3番目のセルでは、この交差点にあるセルの値を数式で使用します。私はこれを行う方法があるはずだと確信しています、しかし私はグーグルでそれのようなものを全く見つけませんでした。私が見つけたすべてのドロップダウンリストの依存関係チュートリアルでは、私の状況に合わないさまざまな方法を使用しています。どうもありがとう。


チェックアウト INDIRECT cpearson.com/excel/indirect.htm
Excellll

回答:


1

VBAスクリプトに頼ることなく、2つの小さなテーブルを作成する必要があります。最初の列はインデックス、2番目の列は行/列のタイトルです。

したがって、元のテーブルに、Row1、Row2、Row3、Row4、Row5、およびCol1、Col2、Col3などの単純なタイトルの5行3列があるとします。そしてこの表は A1実際の値は B2 そしてに行く D6

enter image description here

  1. 新しい列に行の数値インデックス、すなわち1、2、3、4、5を入力します。
  2. 右側の列に、行のタイトルを入力します。
  3. 列に対して上記の手順を繰り返します。

だから、あなたはこのようなものがあるでしょう:

enter image description here

リボンの[開発者]タブで[次へ]をクリックします。 Insert > Combo Box (ActiveX Control)。ドロップダウンリストを配置する場所に2つのコンボボックスを作成します。

デザインモードになっていない場合は、デザインモードをクリックします。

  1. 最初のコンボボックスを右クリックして[プロパティ]をクリックします。
  2. の中に ColumnCount フィールド、2と入力
  3. の中に ColumnWidths フィールド、0を入力
  4. の中に LinkedCell 例として、フィールドに画面外のセル値を入力します。 Y1
  5. の中に ListFillRange フィールドとして、行インデックスと行タイトル列をカバーする範囲を入力します。上の例の画像を使用して、次のように入力します。 M1:N5
  6. 列の2番目のコンボボックスについても上記の5つの手順を繰り返します(例を続けるには、手順4の値は次のようになります)。 Z1
  7. これで、次の式であなたが望む交差点を得ることができます。 =INDEX(B2:D6,Y1,Z1)

基本的に LinkedCell コンボボックスの値、行と列のインデックスが入力されている Y1 そして Z1 それぞれ。そこから我々は使用します Index テーブル内の行と列のオフセットの値を取得する関数 B2:D6

注:行の場合は、既存の行タイトルの右側に列を追加して行インデックスを入力する(そして列を非表示にする)ことができます。しかし列の場合は、新しいテーブルを作成する必要があります。 ListFillRange コンボボックスのフィールドは水平配列を受け付けません。 (それは可能ですが、必要な目的のためではありません。)


優秀な。これこそまさに私が探していたものです。トンありがとう。
Dave
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.