1

行と列のヘッダーを利用して、Excel テーブル (Excel テーブル オブジェクトではなく、セルの範囲) に入力できる関数を構築しようとしています。たとえば、行ヘッダー「BAT61」と列ヘッダー「A」、「B」、「C」があります...

これらの列で次の結果を生成する式を作成したいと思います: =min(BAT61A),=min(BAT61B), =min(BAT61C)... これらの生成された名前は、既に作成されている名前付き範囲と一致します。

=index を使用しようとしましたが成功しませんでした (通常、#ref エラーが発生します)。可能であれば、VBA以外のソリューションを希望します。どんな助けでも大歓迎です。

更新: 間接関数を試しましたが、同じ #ref エラーが発生しました。名前付き範囲が、渡そうとしているテキスト文字列と正確に一致することを確認しました。同じ結果で次のバリエーションを試しました #ref: =min(indirect(A1))[ここで、A1 は「BAT61A」のセル]、=min(indirect(BAT61A))[結果を直接取得しようとする]、および =min(indirect(A1&A2))[ここで、A1="BAT61" および A2="A"]。しかし、提案されたように「テスト」範囲を作成すると、機能します。さらにアイデアをいただければ幸いです。

UPDATE2: いくつかのわずかな変更を加えて動作させることができました。機能しなかった名前付き範囲は、実際には、テーブルから選択した行を解析するかなり広範な配列数式を参照していました。基本的にフィルタリングを行うテーブルに新しいダミー列を作成すると、間接は間接に基づいて正しい列を取得します。

4

2 に答える 2

4

いくつかのセルに「Test」という名前を付けてから、次を使用できます。

=MIN(INDIRECT("テスト"))

http://www.cpearson.com/excel/indirect.htm

名前は & 演算子 = $A1&B$2 を使用して作成できます。

于 2012-04-03T20:54:46.920 に答える