是否可以根据单元格中给定的值定义范围。
所以,例如: 我的选择是A1:A5这是五个细胞。是否可以让excel通过将单元格值(如B1)设置为5来确定这一点。
它的目的是通过单元格值的一次更改轻松更改大量范围。因此,如果我将单元格值(B1)更改为6.范围将自动更改为A1:A6
更具体一点,我想颠倒过来。
最后的例子: 选择应该是A6:A10(这是五个细胞)。在B1中,我的值为5。 如果我将B1的值更改为6.范围应更改为A5:A10
有人可以帮助我吗?
答案 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细胞保留这些值:
您可以更改这些值以更改希望的最终范围。
将公式拆分为部分:
因此:
= SUM(INDIRECT(CONCATENATE(B1,C1)):INDIRECT(CONCATENATE(B2,C2)))
结果
= SUM(A1:A5)
我会在这里写下一些意大利用户的SEO关键词:
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。