【问题标题】:Referencing a cell by using a formula to get the name of the cell使用公式引用单元格以获取单元格的名称
【发布时间】:2015-05-27 23:29:55
【问题描述】:

我不知道如何描述这个问题,但举个例子应该可以清楚地说明:

"A"&COUNT(A1:A10000)

给出 A10000。那么为什么我不能这样做:

SUM(A1:"A"&COUNT(A1:A10000))

应该和SUM(A1:A10000)一样?

【问题讨论】:

    标签: excel cell formula


    【解决方案1】:

    当然可以:

    =SUM(INDIRECT("A1:A"&COUNT(A1:A10000)))
    

    【讨论】:

    • 谢谢,正是我需要的
    【解决方案2】:

    使用间接函数将单元格地址转换为范围引用:

    =sum(indirect("A1:A"&COUNT(A1:A10000))) 
    

    【讨论】:

    • 谢谢,正是我需要的
    【解决方案3】:

    INDIRECT function 被视为 volatile 函数。您可以使用非易失性 INDEX function 完成相同的操作,使用 MATCH function 查找列中的最后一个数字(在中间空白或穿插文本的情况下),而不是计算列中的数字。

    =sum(A1:INDEX(A:A, MATCH(1e99, A:A)))
    

    结果应该类似于以下。

            

    【讨论】:

    • 很好的例子。您写道 MATCH 函数可用于查找列中的最后一个数字。为此给出的代码是“MATCH(1e99, A:A)”。我说 1e99 引用列中的最后一个数字是否正确?
    • 那不准确。 1E+99 是一个 1 后跟 99 个零,更准确地描述为 永远不会到达的数字。 MATCH 函数(默认为 match_type)不断尝试使用它在列中找到的每个数字来访问它,直到它放弃并返回最后一个数字的行号。
    【解决方案4】:

    因为你把int和string结合起来,结果变成了string,它不能作为一个单元格。

    详细介绍

    "A"&COUNT(A1:A10000) gives A10000
    
    1. COUNT(A1:10000) = 计算所有有值的单元格,假设 A 列中的所有单元格都有值,那么结果将显示为 '10,000'

    2. 您尝试将 String 'A' 和 int '10,000' 组合起来,使其变为 String 'A10000'

    3. String 'A10000' 不再与 int 相同,它不能用于求和、除法或乘法,因为它变成了 String。

      • (ex1. "A"&10000 = 字符串 "A10000" 与 CELL A10000 不同)

      • (ex2.int 5 = number 5, String '5' = word 'FIVE')


    SUM(A1:"A"&COUNT(A1:A10000))
    
    1. 接下来,您尝试将第二行用作单元格行号。

    2. 因为是String,不是单元格行号,所以不能为你求和为CELL A1,A10000。

    【讨论】:

    • 很好的解释,我会注意数据类型。
    猜你喜欢
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    相关资源
    最近更新 更多