我只是想知道是否可以在 Excel 中链接两个工作表,您可以将输入从工作表 1 转移到工作表 2 以进行一些计算,然后将值返回到工作表 1。
请参阅附件示例
将 Sheet2 中的 C4 和 C5 发送到 Sheet1 中的 C4 和 C5,以计算 Sheet1 中的 C9,然后将该值返回到 Sheet2 中的 C6
将工作表 2 中的 D4 和 D5 发送到工作表 1 中的 C4 和 C5,以计算工作表 1 中的 C9,然后将该值返回到工作表 2 中的 D6
答案1
我相信你一定有编程背景:你谈论问题的方式暗示了这一点。
Excel 采用了不同的思维方式。您不会将其视为“拿来做那个然后在这里显示”,而是采用另一种方式:“结果显示在这里,而隐藏在显示后面的单元格中的公式会查找不同的地方,找到所需的内容,然后对其进行操作以产生显示的结果。”
信不信由你,这是一个巨大的差异。正如所描述的,gns100
完全正确:您必须使用 VBA 来编写解决方案。因为 Excel 根本无法满足您的要求;特别是,它永远不会将某个东西从一个地方移动到另一个地方。
但有一个非常好的消息。您显然有一个公式,您对它在 Sheet1!C9 中的表现感到满意,因为您描述的唯一需要的步骤是将信息移动到位以使该公式起作用,然后将其结果移回 Sheet2!C6 进行演示或进行其他进一步的操作。然后要实现它,需要执行下一个数据,最终在 D6 中,然后在 E6 中执行另一组数据,依此类推。
那么答案就是忘记将信息移动到位。只需将 Sheet1!C9 中的公式放入 Sheet2!D6 中即可。按 F2 并复制公式编辑器显示的全部内容,按 Esc,转到 Sheet2!D6,最后按 F2 打开该单元格的公式编辑器并粘贴到其中。
此时,公式不会给出您在 Sheet1!C9 中看到的准确结果。然后您需要复制单元格并将其粘贴到需要结果的其他单元格中:D6、E6 等等。但复制单元格,而不是单元格中的公式,就像您在上一段中所做的那样。这样,公式将更改为使用 Sheet2!D4:D5,而不是 C4:C5,这显然很重要。
但是,虽然您希望发生这种变化(即此页面上引用的单元格),但您不希望它更改它引用的其他页面上的单元格的单元格引用。当您从 C6 复制到 D6、E6 等时,这些引用必须保持不变。因此,您需要使它们的引用“绝对”,方法是在$
列字母和行号前放置一个。听起来很讨厌,但您只需这样做一次。因此,进入公式编辑器并“手动”编辑,移动到每个位置并键入$
,或使用鼠标突出显示每个引用(整个引用)并按F4
。您将看到添加了$
。按 Enter 保存工作并退出公式编辑器。完成后,您可以将单元格本身复制到您需要的任意数量的第 6 行单元格中,它将像仍在 Sheet1 上一样工作。
换句话说,无需在 Sheet1 上完成工作,然后将结果传输到 Sheet2。只需保持 Sheet1 原样,让 Sheet2 查看其公式所查看的同一张数据表,但由于查看的是 Sheet2 上的单元格,因此结果将位于 Sheet2 上,与您指定的完全相同。而且,多个/多个进一步的结果只是位于不同的单元格(D6、E6 等)中,并且并行发生,而不是像编程中那样一步一步地完成。
无需任何操作即可实现这一物理效果。因此无需编程,因为 Excel 会接受您的结果请求并在后台自行执行编程步骤。这仍然是“编程”,但您与其交互时就像您是“客户/最终用户”,而不是像您是程序员一样。(而且,不是您对客户的需求和幻想感到沮丧,而是 Excel 对您感到沮丧!)这是 Excel 的流程模型与编程的流程模型之间的巨大差异。