MrM*_*rho 4 worksheet-function vlookup microsoft-excel
我在 Excel 中有以下表格:
和
产品库存表(PST)比这更广泛,但出于这个问题的目的,我已将其删减。
我想在 Stock Analysis 表(SAT)的列中查找与 Product Stock 表的 Size 列中的值匹配的值。
例如,在本例中,我的产品库存表(PST)的大小列中的值为8,因此我想查找我的库存分析表的大小 8列中的值。如果我的值为5,则在我的股票分析表(SAT) 中查找大小 5。
请注意,已执行数据验证以确保我的 Product Stock 表的 Size 列中的值基于指定的维度,因此只有一系列大小也是 Stock Analysis 表的列
还插入了公式以确保SAT的下一行将始终具有比前一行大一个的批号(即每新行的批号列增加 1)这是为了确保SAT中没有重复批次
到目前为止我所拥有的是:
=IF(PST[Batch No]=SAT[Batch No, VLOOKUP(PST[Batch No], PST, Stuck here, FALSE), "")
Run Code Online (Sandbox Code Playgroud)
我需要的col_index_num是将PST 的Size 列中的值与SAT标头中字符串的最后一个字符进行匹配,不包括 Batch No 标头(尽管这可能不会影响它)。当有匹配时,给出表上的列号。
这将给出与批号匹配的列下的值。
我希望这是可以理解的。
我非常不想深入研究 VBA
g.k*_*kov 10
像这样的东西?
中的公式H12为:
=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)
Run Code Online (Sandbox Code Playgroud)
编辑:公式如何H12工作。
提供列号的部分,
MATCH("Size "&F12,$C$5:$H$5,0)
Run Code Online (Sandbox Code Playgroud)
首先将前缀"Size "
与F12(=8)的值连接起来,产生一个 string "Size 8"。然后遍历标题行中的单元格$C$5:$H$5
以找到该关键字符串并返回匹配单元格的编号,即6(标题中的最后一个单元格)。那么公式
=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)
Run Code Online (Sandbox Code Playgroud)
本质上变成
=VLOOKUP(E12,$C$6:$H$8,6,FALSE)
Run Code Online (Sandbox Code Playgroud)
它E12在 range 的第一列中查找(=1)的内容$C$6:$H$8。换句话说,它选择行,其对应于Batch No=1,这是1。并给定 range 中的行 (=1) 和列 (=6) 编号$C$6:$H$8,
VLOOKUP返回存储在 中的值H6,即7。
| 归档时间: |
|
| 查看次数: |
931 次 |
| 最近记录: |