Excel根据单元格值定义范围

时间:2014-04-02 20:38:16

标签: excel range cell

是否可以根据单元格中给定的值定义范围。

所以,例如: 我的选择是A1:A5这是五个细胞。是否可以让excel通过将单元格值(如B1)设置为5来确定这一点。

它的目的是通过单元格值的一次更改轻松更改大量范围。因此,如果我将单元格值(B1)更改为6.范围将自动更改为A1:A6

更具体一点,我想颠倒过来。

最后的例子: 选择应该是A6:A10(这是五个细胞)。在B1中,我的值为5。 如果我将B1的值更改为6.范围应更改为A5:A10

有人可以帮助我吗?

6 个答案:

答案 0 :(得分:14)

假设您在单元格A1,A2,A3,A4,A5,A6中分别有编号1,2,3,4,5,6。 在单元格A7中,我们计算A1:Ax的总和。 x在单元格B1中指定(在这种情况下,x可以是1到6之间的任何数字)。 在单元格A7中,您可以编写以下公式:

=SUM(A1:INDIRECT(CONCATENATE("A",B1)))

CONCATENATE将为您提供单元格Ax的索引(如果您在B1中放置3,CONCATENATE(“A”,B1))给出A3)。

INDIRECT将“A3”转换为索引。

请参阅此链接Using the value in a cell as a cell reference in a formula?

答案 1 :(得分:5)

您也可以使用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))

答案 2 :(得分:1)

这应该接近你想要的第一个例子:

=SUM(INDIRECT("A1:A"&B1,TRUE))

这应该接近你想要的最后一个例子:

=SUM(INDIRECT("A"&1+B1&":A"&B1,TRUE))

答案 3 :(得分:1)

Here is an option. It works by using making an INDIRECT(ADDRESS(...)) from the ROW and COLUMN of the start cell, A1, down to the initial row + the number of rows held in B1.

SUM(INDIRECT(ADDRESS(ROW(A1),COLUMN(A1))):INDIRECT(ADDRESS(ROW(A1)+B1,COLUMN(A1))))

A1: is the start of data in a the "A" column

B1: is the number of rows to sum

答案 4 :(得分:1)

基于@Cici的回答,我在这里给出了一个更通用的解决方案:

= 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 uninter间隔
  • 每个定义的公式,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。

答案 5 :(得分:-1)

旧帖但这正是我所需要的,简单的问题,如何将其更改为count列而不是Row。先感谢您。新手到Excel。

=SUM(A1:INDIRECT(CONCATENATE("A",C5)))

即我的数据是A1 B1 C1 D1等,而不是A1 A2 A3 A4。