Excel:获取值第一次出现的单元格地址并在公式中使用它

Excel: Get the cell address of the first occurrence of a value and use it in a formula

我有以下 table:

     A    B    C
 1   1    4    =(Formula) 
 2   1    
 3   3
 4   4
 5   4

我需要从 A 列(即 A4)中获取 B1 中第一次出现的值(在本例中为 4)的地址,并在公式中使用该地址(位于 C1 中)。该公式基本上应执行以下操作:

  1. 如果 B1 不为空,则获取 A1:A10000(本例中为 A4)
  2. 范围内 B1 中第一个值(本例中为 4)
  3. 在公式中使用此地址 (A4),生成 20 个单元格的范围:this_address:this_address+20(在此示例中:A4:A24)。
  4. 做一些计算

所有三个步骤都应在一个公式中执行。

使用INDEX/MATCH和INDEX/MATCH+20:

INDEX(A:A,MATCH(B1,A:A,0)):INDEX(A:A,MATCH(B1,A:A,0)+20)

因此,如果我们想对该范围求和:

=SUM(INDEX(A:A,MATCH(B1,A:A,0)):INDEX(A:A,MATCH(B1,A:A,0)+20))

虽然 INDEX 是更好的选择,但至少应提及 OFFSET。

'A4:A24
=offset(a1, match(b1, a:a, 0)-1, 0, 21, 1)
=sum(offset(a1, match(b1, a:a, 0)-1, 0, 21, 1))

'D4:D24
=offset(a1, match(b1, a:a, 0)-1, 3, 21, 1)
=sum(offset(a1, match(b1, a:a, 0)-1, 3, 21, 1))