1

行の最初のセルは価格で、列ヘッダーは1から10までの数字です..次のようなものです:

   1  2  3  4  5  6  ..
1$ 1g 9g 7g

2$ 4g 6g 8g 0g 0g 3g

3$ 4g 6g 8g 0g 0g 3g

4$ 4g 6g 8g 0g 0g 3g

.
.

このシートに、いくつかの列をフィルタリングするために2つのパラメータ(param1、param2)param1を取り、いくつかの行をフィルタリングするためにparam 2を取り、必要な適切な重みを選択する小さなアルゴリズムをExcelでこのシートに書く必要があります..私はアルゴリズムについて尋ねていません.しかし、私はExcelでそれを行う方法を尋ねています.私のオフィススキルは存在しませんでした.マクロが必要な場合は、マクロ命令がセルの範囲を読み取ることなどを説明する良いリンクを教えてください..

4

2 に答える 2

1

VBA は必要ありませんが、数式を使用できます。

=INDEX($B$2:$G$5,MATCH(H6,INDEX(A2:A5,1,),0),MATCH(I6,INDEX(B1:H1,1,),0))

このINDEX関数は の入力を受け取りINDEX(Range, row, column)、値を返します。したがって、入力行と列を見つけたいと思います。これは、 によって行われますMATCH

MATCH(H6,INDEX(A2:A5,1,),0)

に含まれる値H6を検索し、範囲内のインデックスを提供します。A2:A5.したがって、に含まれる値が である場合、H6この3$関数は 3 を返し、ターゲット値が 3 行目にあることを示します。

同様に、次の場合

MATCH(I6,INDEX(B1:H1,1,),0)

値を探していますがI6、現在は列見出しを検索しています。= 4 の場合I6、値 4 が返されます (4 番目の列であるため)。

まとめると、次の機能が得られます

=INDEX($B$2:$G$5, 3, 4)

これにより、 で指定されたテーブルの行 = 3 および列 = 4 の$B$2:$G$5値、または検索値が得られます。

于 2012-10-02T12:39:35.000 に答える
0

マクロを始めるためのかなり包括的なリンクがあります: http://dmcritchie.mvps.org/excel/getstarted.htm

プロセスが非常に条件付きになる場合は、おそらくマクロを作成する方がよいでしょう。マクロの書き方を知ることは非常に価値のあるスキルになります。

いくつかのことを試して小さなコードを書いたら、ここに投稿できます。それが機能しない分野でお手伝いします。または、分野で開始する方法がわからない場合は、質問することができます別の適切な質問。

于 2012-10-02T13:29:25.407 に答える