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。