Excelには次のテーブルがあります。
そして
製品の在庫テーブル(PST)はこれよりも広範囲ですが、この質問の目的のために、私はそれを削減しました。
Stock Analysisテーブル(SAT)の列の値を、ProductStockテーブルのSize列の値と一致させたい。
たとえば、この場合、商品在庫テーブルのサイズ列の値(PST)は8です。 なので、株価分析テーブルのサイズ8列の値を調べたいと思います。私の値が5の場合、株式分析テーブルでサイズ5を検索します(SAT)。
Product StockテーブルのSize列の値が指定されたディメンションに基づいていることを確認するためにデータ検証が実行されているため、Stockの列でもあるサイズの範囲のみが含まれることに注意してください。分析表
また、[〜#〜] sat [〜#〜]の次の行が確実に実行されるように数式が挿入されています常に前の行より1つ大きいバッチ番号を持っています(つまり、新しい行ごとに[バッチなし]列に1が増加します)。これは、でバッチが繰り返されないようにするためです。 [〜#〜] sat [〜#〜]
私がこれまでに持っているのは:
=IF(PST[Batch No]=SAT[Batch No, VLOOKUP(PST[Batch No], PST, Stuck here, FALSE), "")
col_index_num
で必要なのは、[〜#〜] pst [〜#〜]の[サイズ]列の値と一致させることです。 [〜#〜] sat [〜#〜]のヘッダー内の文字列の最後の文字(Batch Noヘッダーを除く)(これは影響しない可能性があります)それでも)。一致する場合は、テーブルの列番号を指定します。
これにより、その列の下にバッチ番号と一致する値が表示されます。
これがかなり理解できることを願っています。
VBAについて詳しく知りたくありません
このようなもの?
_H12
_の式は次のとおりです。
_=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)
_
編集:_H12
_の式がどのように機能するか。
列番号を提供する部分、
_MATCH("Size "&F12,$C$5:$H$5,0)
_
最初にプレフィックス_"Size "
_を値_F12
_(= 8)と連結し、文字列_"Size 8"
_になります。次に、ヘッダー行_$C$5:$H$5
_のセルを調べてこのキー文字列を見つけ、一致するセルの番号、つまり_6
_(ヘッダーの最後のセル)を返します。次に、式
_=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)
_
本質的に
_=VLOOKUP(E12,$C$6:$H$8,6,FALSE)
_
これは、範囲_E12
_の最初の列で_$C$6:$H$8
_(= 1)の内容を検索します。つまり、_Batch No=1
_に対応する行を選択します。これは_1
_です。また、行(= 1)と列(= 6)の数値が_$C$6:$H$8
_の範囲にある場合、VLOOKUP
は_H6
_に格納されている値(_7
_)を返します。
Batch#とSizeテキストに一致するindex
関数を試してください。
=INDEX(C6:H8,MATCH($E12,$C$6:$C$8,0),MATCH("Size "&$F12,$C$5:$H$5,0))