excel 公式中的自动范围选择
Automate range selection in excel formula
如何在 excel 公式中将范围 selection 自动化。
例如,如果我在 sheet(不低于范围)的某处使用 SUM 公式作为 =SUM(A1:A10)
。如果现在在更多单元格中更新值,比如直到 A15,我将不得不手动将公式更新为 =SUM(A1:A15)
。等等。
如何将上述公式自动化到 select 范围,直到包含该值的最后一行。
请原谅我重复或愚蠢。我找不到任何具体的内容。
您正在寻找 so-called 动态范围。您可以使用 SUM(A1:INDEX($A:$A,MATCH(2,1/($A:$A<>"")),1))
。
也可以:SUM(A1:INDEX($A:$A,COUNTA($A:$A),1))
,前提是您确保 而不是 将指定范围内的单元格留空。第一个也适用于中间的空白。
要设置范围的最大值,请将 $A:$A
更改为 $A:$A
。
更新:解释公式。 INDEX(rng, row, col)
在这里与 col = 1(范围的第一个 col;我们可以将其省略)和动态行引用一起使用,以创建类似于 A1:A" & last_row
的动态范围。 COUNTA($A:$A)
将为我们提供正确的行(如果您填写的值没有空格)。例如。下面,在 A 列中,它可以使用,但在 B 列中,我们得到了错误的行(我们希望这里有 5,而不是 4):
使用MATCH(2,1/($A1:$A5<>""))
解决了这样的问题。这里,($A1:$A5<>"")
将解析为 {TRUE;TRUE;TRUE;FALSE;TRUE}
。接下来,1/{array}
将解析为 {1;1;1;#DIV/0!;1}
(因为 TRUE = 1
、FALSE = 0
)。我们正在尝试匹配 2
,它不存在(因此,它可以是任何值 > 1
)。我们隐式使用 match_type = 1
(默认值),在没有完全匹配的情况下,return 数组中最后一个值的位置 低于 2 ,即对于 col B,它将 return 5
引用到数组中的第四个也是最后一个 1
。
如何在 excel 公式中将范围 selection 自动化。
例如,如果我在 sheet(不低于范围)的某处使用 SUM 公式作为 =SUM(A1:A10)
。如果现在在更多单元格中更新值,比如直到 A15,我将不得不手动将公式更新为 =SUM(A1:A15)
。等等。
如何将上述公式自动化到 select 范围,直到包含该值的最后一行。
请原谅我重复或愚蠢。我找不到任何具体的内容。
您正在寻找 so-called 动态范围。您可以使用 SUM(A1:INDEX($A:$A,MATCH(2,1/($A:$A<>"")),1))
。
也可以:SUM(A1:INDEX($A:$A,COUNTA($A:$A),1))
,前提是您确保 而不是 将指定范围内的单元格留空。第一个也适用于中间的空白。
要设置范围的最大值,请将 $A:$A
更改为 $A:$A
。
更新:解释公式。 INDEX(rng, row, col)
在这里与 col = 1(范围的第一个 col;我们可以将其省略)和动态行引用一起使用,以创建类似于 A1:A" & last_row
的动态范围。 COUNTA($A:$A)
将为我们提供正确的行(如果您填写的值没有空格)。例如。下面,在 A 列中,它可以使用,但在 B 列中,我们得到了错误的行(我们希望这里有 5,而不是 4):
使用MATCH(2,1/($A1:$A5<>""))
解决了这样的问题。这里,($A1:$A5<>"")
将解析为 {TRUE;TRUE;TRUE;FALSE;TRUE}
。接下来,1/{array}
将解析为 {1;1;1;#DIV/0!;1}
(因为 TRUE = 1
、FALSE = 0
)。我们正在尝试匹配 2
,它不存在(因此,它可以是任何值 > 1
)。我们隐式使用 match_type = 1
(默认值),在没有完全匹配的情况下,return 数组中最后一个值的位置 低于 2 ,即对于 col B,它将 return 5
引用到数组中的第四个也是最后一个 1
。