我有一个公式 =OFFSET($AL$5,12,0),它可以从 AL 列中得到我想要的值。我想让“$AL$5”部分动态化,并查找以匹配 F 列中的相同值。
=(CELL("地址",INDEX(AL:AL,MATCH(F2,$AL:$AL,0)))) 输出 "$AL$5"
但是当我尝试组合这两个公式时,Excel 出错:=OFFSET(CELL("address",INDEX(AL:AL,MATCH(F2,$AL:$AL,0))),12,0)*100
有人知道怎么做吗?提前谢谢!
答案1
如果=(CELL("address",INDEX(AL:AL,MATCH(F2,$AL:$AL,0))))
输出“$AL$5”,则输出仍为文本,而不是真正的单元格地址。为了将其转换为单元格地址,您需要用 Indirect() 将其包裹起来。
但是由于您已经在使用 Index/Match,因此不需要将单元格地址转换为文本,然后再将其转换回单元格地址。
索引返回一个范围,您可以在偏移量内使用它。
或者更好的是:由于您似乎从 Index 找到的单元格偏移了 12 行,因此您不妨直接将其构建到 Index 语句中。将 12 行添加到 Match 找到的数字上。
最终公式为
=INDEX(AL:AL,MATCH(F2,$AL:$AL,0)+12)*100
用文字表示:在 AL 列中,查找 F2 中指定的值,向下移动 12 行,然后将该值乘以 100。
如果这对您有用,请告诉我。