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 中)。该公式基本上应执行以下操作:
- 如果 B1 不为空,则获取 A1:A10000(本例中为 A4)
范围内 B1 中第一个值(本例中为 4)
- 在公式中使用此地址 (A4),生成 20 个单元格的范围:this_address:this_address+20(在此示例中:A4:A24)。
- 做一些计算
所有三个步骤都应在一个公式中执行。
使用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))
我有以下 table:
A B C
1 1 4 =(Formula)
2 1
3 3
4 4
5 4
我需要从 A 列(即 A4)中获取 B1 中第一次出现的值(在本例中为 4)的地址,并在公式中使用该地址(位于 C1 中)。该公式基本上应执行以下操作:
- 如果 B1 不为空,则获取 A1:A10000(本例中为 A4) 范围内 B1 中第一个值(本例中为 4)
- 在公式中使用此地址 (A4),生成 20 个单元格的范围:this_address:this_address+20(在此示例中:A4:A24)。
- 做一些计算
所有三个步骤都应在一个公式中执行。
使用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))