Excel formula 向下拖动公式并更改列的引用(索引+匹配)

Excel formula 向下拖动公式并更改列的引用(索引+匹配),excel-formula,Excel Formula,我需要以下公式的帮助: =INDEX(Sheet2!A2:A11,MATCH(Sheet1!Q5,Sheet2!C2:C11,0)+0) 此零件需要更改列参考:Sheet2!C2:C11,0+0 每当我向下拖动列引用时,我都需要更改它。我试过这个: =INDEX(Sheet2!$A$2:$A$12,MATCH(Sheet1!Q4,OFFSET(Sheet2!$A$2:$A$12,0,ROW(O$4:O4)-1),0)+0) 但它总是不适用 我尝试了其他主题的解决方案,但找不到使用索引和匹配的

我需要以下公式的帮助:

=INDEX(Sheet2!A2:A11,MATCH(Sheet1!Q5,Sheet2!C2:C11,0)+0)
此零件需要更改列参考:Sheet2!C2:C11,0+0

每当我向下拖动列引用时,我都需要更改它。我试过这个:

=INDEX(Sheet2!$A$2:$A$12,MATCH(Sheet1!Q4,OFFSET(Sheet2!$A$2:$A$12,0,ROW(O$4:O4)-1),0)+0)
但它总是不适用

我尝试了其他主题的解决方案,但找不到使用索引和匹配的解决方案

我的公式是从O5单元开始的

你能给个建议吗


非常感谢

通常,如果要在向下拖动时更改列引用,请使用索引和行的组合,例如

当公式向下拖动时,这将在第一行的右侧进一步获取值

您还可以修改此选项,使索引返回一个范围,而不仅仅是一个单元格,以用作另一个公式的一部分,例如

= INDEX($1:$5,0,ROW())
这将返回一个5x1数组,该数组在公式向下拖动时向右移动。上面公式中的0表示选择$1:$5范围内的所有行

在公式中,您可以尝试替换以下内容:

Sheet2!C2:C11
为此:

INDEX(Sheet2!$2:$11,0,ROW()+<offset>)

我建议将公式更改为样式,然后您只需绝对引用行,但将列调用相对从我提供的链接的更深处读取,以了解绝对引用如何与此公式样式一起工作。是否有一个选项可以避免R1C1也可以避免VBA?您可以尝试使用IFCOLUMN=row等为匹配构建一个数组。非常忙尽管如此,请随意尝试一下,在办公时间后让我帮忙Ctrl+Shift+Enter,而不仅仅是Enter谢谢你详尽的回答:你能告诉我为什么在我换工作表时公式会中断吗1!Q3到第1页!Q5?第1页!Q3对Sheet1!Q5与我的解释没有内在联系。我猜测公式中断只是因为找不到匹配值,但这只是一个猜测,因为我不知道您的数据是什么。因此,我尝试了您的解决方案,但仍然面临错误。也许我做错了什么?我会使用你的公式,它适用于那个特定的场景,但是一旦我开始向下拖动它,它就会失败。也许可以尝试将它们全部更改为绝对引用?i、 换张纸2!A2:A11到表2$A$2:$A$11和1张!Q3到第1页$Q$3。同样,我基本上是在猜测这一点,因为我不知道你的数据是什么。如果你在问题中提供更多细节,我可以提供更合适的回答。我最初的公式是fine INDEXSheet2!A2:A11,火柴1!Q5,第二张!C2:C11,0+0,我只是锁定了初始范围2!非常感谢你的帮助
INDEX(Sheet2!$2:$11,0,ROW()+<offset>)
= INDEX(Sheet2!A2:A11,MATCH(Sheet1!Q3,INDEX(Sheet2!$2:$11,0,ROW()-2),0)+0)