【问题标题】:Excel Define a range based on a cell valueExcel 根据单元格值定义范围
【发布时间】:2023-03-10 12:30:01
【问题描述】:

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

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

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

更具体地说,我想把它倒过来。

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

谁能帮帮我???

【问题讨论】:

    标签: excel range cell


    【解决方案1】:

    假设您在单元格 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 的索引(如果您将 3 放入 B1,CONCATENATE("A",B1)) 将提供 A3)。

    INDIRECT 将“A3”转换为索引。

    查看此链接Using the value in a cell as a cell reference in a formula?

    【讨论】:

    • 意大利语版本:=SOMMA(A1:INDIRETTO(CONCATENA("A";B1)))
    【解决方案2】:

    你也可以使用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 美元:10 美元))

    【讨论】:

    • 意大利版:=SCARTO($A$10;-$B$1+1;0;$B$1)
    【解决方案3】:

    这是一个选项。它的工作原理是从起始单元格A1ROWCOLUMN 中创建一个INDIRECT(ADDRESS(...)),直到初始行+B1 中保存的行数。

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

    A1: 是“A”列中数据的开始

    B1: 是要求和的行数

    【讨论】:

    • 意大利语:=SOMMA(INDIRETTO(INDIRIZZO(RIF.RIGA(A1);RIF.COLONNA(A1))):INDIRETTO(INDIRIZZO(RIF.RIGA(A1)+B1;RIF.COLONNA) (A1))))
    【解决方案4】:

    这应该与您正在寻找的第一个示例接近:

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

    这应该与您正在寻找的最终示例接近:

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

    【讨论】:

      【解决方案5】:

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

      =SUM(间接(连接(B1,C1)):间接(连接(B2,C2)))

      在 Excel 的意大利语版本中:

      =SOMMA(INDIRETTO(CONCATENA(B1;C1)):INDIRETTO(CONCATENA(B2;C2)))

      其中 B1-C2 单元格包含这些值:

      • 一,1
      • A, 5

      您可以更改这些值以随意更改最终范围。


      将公式分成几部分:

      • SUM(间接(连接(B1,C1)):间接(连接(B2,C2)))
      • CONCATENATE(B1,C1) - 结果是 A1
      • INDIRECT(CONCATENATE(B1,C1)) - 结果是对 A1 的引用

      因此:

      =SUM(间接(连接(B1,C1)):间接(连接(B2,C2)))

      结果

      =SUM(A1:A5)


      我将在这里为意大利用户写下几个 SEO 关键字:

      • come creare dinamicamente l'indirizzo di un intervallo in excel
      • 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。

      【讨论】:

        【解决方案6】:

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

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

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

        【讨论】:

        • 这是一个问题还是一个答案?
        猜你喜欢
        • 1970-01-01
        • 2020-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-07
        相关资源
        最近更新 更多