Excel根据单元格值定义一个范围
是否可以根据单元格中给定的值来定义范围?
所以,例如:我的select是A1:A5这是五个单元格。 是否有可能让excel通过设置一个单元格值(如B1)为5来确定。
它的目的是很容易改变一个单元格值的变化很多范围。 所以如果我将单元格值(B1)更改为6.范围将自动更改为A1:A6
更具体一点,我想把它颠倒过来。
最后的例子:select应该是A6:A10(这是五个单元格)。 在B1中,我有值5.如果我将B1的值更改为6.范围应更改为A5:A10
有人可以帮我吗?
假设您的号码分别是1,2,3,4,5,6,分别在A1,A2,A3,A4,A5,A6。 在单元格A7中,我们计算A1:Ax的总和。 x在单元格B1中指定(在这种情况下,x可以是从1到6的任何数字)。 在单元格A7中,可以编写以下的expression式:
=SUM(A1:INDIRECT(CONCATENATE("A",B1)))
CONCATENATE将给你单元格Ax的索引(如果你在B1中放置3,CONCATENATE(“A”,B1))给出A3)。
INDIRECT将“A3”转换为索引。
请参阅此链接使用单元格中的值作为公式中的单元格引用?
你也可以使用OFFSET:
OFFSET($A$10,-$B$1+1,0,$B$1)
它将范围$ A $ 10向上移动$ B $ 1-1(变成$ A $ 6($ A $ 5)),然后将范围调整到$ B $ 1行(变成$ A $ 6:$ A $ 10($ A $ 5:$ A $ 10))
这应该接近你正在寻找你的第一个例子:
=SUM(INDIRECT("A1:A"&B1,TRUE))
这应该接近你正在寻找你的最后一个例子:
=SUM(INDIRECT("A"&1+B1&":A"&B1,TRUE))
这是一个选项。 它通过使用从起始单元格的行和COLUMN
INDIRECT(ADDRESS(...))
从COLUMN
A1
到下一行)+ B1
保存的行数来使用INDIRECT(ADDRESS(...))
来工作。
SUM(INDIRECT(ADDRESS(ROW(A1),COLUMN(A1))):INDIRECT(ADDRESS(ROW(A1)+B1,COLUMN(A1))))
A1
:“A”列中的数据开始
B1
:是总和的行数
根据@Cici的回答,我在这里给出一个更通用的解决scheme:
= SUM(INDIRECT(CONCATENATE(B1,C1)):INDIRECT(CONCATENATE(B2,C2)))
在意大利语版本的Excel中:
= SOMMA(INDIRETTO(CONCATENA(B1; C1)):INDIRETTO(CONCATENA(B2; C2)))
其中B1-C2细胞具有以下值:
- A,1
- A,5
你可以改变这些值来改变最终的范围。
分割公式:
- SUM(INDIRECT(CONCATENATE(B1,C1)):INDIRECT(CONCATENATE(B2,C2)))
- CONCATENATE(B1,C1) – 结果是A1
- 间接(CONCATENATE(B1,C1)) – 结果是对A1的引用
因此:
= SUM(INDIRECT(CONCATENATE(B1,C1)):INDIRECT(CONCATENATE(B2,C2)))
结果是
= SUM(A1:A5)
我会在这里写下几个意大利用户的SEO关键字:
- 在excel中来到creare dinamicamente l'indirizzo di un间隔
- 在excel中定义的公式
Con la formula indicata qui sopra basta scrivere nelle caselle da B1 a C2 gli estremi dell'intervallo per vedelo cambiare dentro la formula stessa。