Excel:一个单元格内的地址可以用作另一个单元格地址的一部分吗?

Excel:一个单元格内的地址可以用作另一个单元格地址的一部分吗?,excel,function,spreadsheet,Excel,Function,Spreadsheet,我一直在想,必须有一个函数,允许一个单元格内的地址用作另一个单元格地址内的变量。对于我正在创作的床单类型来说,这将使我的生活变得更加轻松 出于示例的目的,我寻求的函数在下面被假设为“THING”: 底线是: 在一个复杂的电子表格(10页,每页有数百行和数百列)中,我只想通过修改第1页a列中的数据来操作地址 这也允许我轻松地将B列向下复制数百行。列B中的函数类型也可能需要在列C、D、E。。。数十列或数百列 现在我正在手动输入每个需要的地址,或者使用地址输入一个很长的函数。如果A列中有任何更改,那么

我一直在想,必须有一个函数,允许一个单元格内的地址用作另一个单元格地址内的变量。对于我正在创作的床单类型来说,这将使我的生活变得更加轻松

出于示例的目的,我寻求的函数在下面被假设为“THING”:

底线是:

在一个复杂的电子表格(10页,每页有数百行和数百列)中,我只想通过修改第1页a列中的数据来操作地址

这也允许我轻松地将B列向下复制数百行。列B中的函数类型也可能需要在列C、D、E。。。数十列或数百列


现在我正在手动输入每个需要的地址,或者使用地址输入一个很长的函数。如果A列中有任何更改,那么我必须返回并重新键入这些长函数。。。而且我经常发现我在所有的打字中都打错了…

你似乎把公式
=Sheet2作为你的起点!单元格A1中的A35
。 你要做的是:

  • 将公式作为字符串获取。 为此,您可以使用XL4宏、VBA或
    FormulaText
    (在Excel 2013或更高版本中),请参阅

  • 从字符串中提取行号。 为此,可以使用VBA()或公式查找最右边的字母/
    $
    ,并将子字符串保持在其右侧

  • 使用前面的答案,因为您已经在问题中加入了答案


  • 对问题第一版的回答

    我将把您正在寻找的公式分为两个步骤

    在单元格B1中,您可以输入
    =“Sheet2!”&“X”和文本(A1,“0”)
    。 这将产生结果
    Sheet2!X25
    。 然后在单元格C1中输入
    =间接(B1)
    。 这将把单元格
    Sheet2的内容带入单元格C1!X25

    注:

  • 您可以根据需要向下复制公式

  • 复制到其他列时,请注意相对/绝对索引

  • 您可以在B1中使用单个公式(无辅助列):
    =INDIRECT(“Sheet2!”&“X”和TEXT(A1,“0”))

  • 如果不想硬编码,可以用合适的公式替换
    Sheet2
    和(column)
    X

  • B1中的公式几乎肯定可以替换为
    =“Sheet2!”&“X”和A1
    。 注:很久以前,在我现在不记得的情况下,我发现我需要使用
    文本
    ;YMMV


  • 还有一个问题:是否有其他方法提取行号(而不是使用RIGHT)?因为有些行号是一位数、两位数和三位数?如果没有,那么我需要在每个被引用的工作表中插入99行,然后隐藏它们。这是我唯一一个低技术的解决方案,可以获得数百行相同位数的数据。@pnuts我改进了问题的特殊性。您极大地帮助我改进了间接语言的使用,我已经非常接近于寻求多年的解决方案。ThxLook行、列和地址函数。@Joe ADDRESS不适合我,或者我不知道如何实现它。如果我在Sheet2上增加一行,并将其编号,然后将间接指向该行,则ROW函数可以工作…@Joe如果我在Sheet1上使用行(A1),则得到“1”。。。但我真的想让它说“35”。“有没有一个简单的方法可以做到这一点?”EverettSteed-如果我没有弄错的话,你需要的是与别人要求的不同的东西。在我看来,这个答案解决了“变量(特别是单元格的内容)可以用作单元格地址的一部分吗?”我建议你发布另一个问题,描述你需要什么,并给出一个具体的例子(和你在这里做的一样,很高兴看到这个问题,但在SO中经常看不到)。否则,读者可能会被误导。@EverettSteed-如果你碰巧发布了另一个问题,你可以在这里添加一条带有链接的评论,这样他们就会被捆绑起来,读者可以继续阅读。我已经改进了我问题的具体性。我为困惑道歉,只有在探索pnuts的建议时,我才意识到问题的真正复杂性,以及问题的核心。感谢您的帮助。Thx@EverettSteed-我将尝试回答新问题。不过,我还是认为你最好不要修改这个问题,而是问一个新问题,这样对其他人也很有用。对不起,我刚看到你的留言。我理解以原始形式留下问题的逻辑,但我如此热衷于问我的本意,以至于我完全错过了这个信息。很抱歉
    Sheet1 Daily Menus
    
    MONDAY MENU
          Items:           Helper Column          Nutritional Data           Results
            A                   B                         C             
    1   =Sheet2!A35      =THING(A1,row=35)     =INDIRECT("Sheet3!G"&B1)    =Sheet3!G35
    2   =Sheet2!A247     =THING(A2,row=247)    =INDIRECT("Sheet3!G"&B2)    =Sheet3!G247
    3   =Sheet2!A989     =THING(A3,row=989)    =INDIRECT("Sheet3!G"&B3)    =Sheet3!G989
    
    TUESDAY MENU
    101 =Sheet2!A613     =THING(A101,row=613)  =INDIRECT("Sheet3!G"&B101)    =Sheet3!G613