繁体   English   中英

根据另一个单元格值更改部分 Excel 公式

[英]Changing part of an Excel formula based on another cell value

我在单元格C4中使用以下公式运行了一个 excel 公式。

它从位于我计算机上C:\Excel\中名为file1.xlsm的工作簿中获取名为06-01-20的选项卡上的单元格V5的信息。

='C:\Excel\[file1.xlsm]06-01-20'!V5

我想将公式的06-01-20部分更改为我的工作簿中单元格C2的值(不是file1.xlsm工作簿,包含上述公式的工作簿。)

任何帮助将不胜感激。

屏幕截图参考 -

设置

假设“其他”工作簿(file1.xlsm)有两张纸:

  1. 06-01-02(单元格 v5:'06-01-02 中的原始参考')-每个“活动工作簿”的 C1
  2. 06-01-30(单元格 v5:“06-01-30 中的新参考”)-每个“活动工作簿”的 C2

公式:

=SUBSTITUTE(SUBSTITUTE(FORMULATEXT(C4),C1,C2),"=","")

更新工作表名称的功能


1) 间接公式法

仅在其他工作簿(file1.xlsm)打开时才有效....

=INDIRECT(D4,1)

间接论坛方法的功能


2)VBA方法

无论其他工作簿是否打开/关闭都有效,但需要临时“步骤”(如果不需要间接方法,可以与第一个功能结合使用)

插入这个函数:

="="&D4

VB 的临时步骤

从不同工作表中检索值的 VB 代码 (06-01-30):

Range("G5").Value = Range("E4").Value

单元格 G5 中的 VBA 输出(当 file1.xlsm 关闭时)


笔记:

  • 可以修改第一个函数以更改工作簿和单元格引用(不仅仅是此处所做的工作表名称)
  • 请注意最终屏幕截图中的间接公式(单元格 G4)如何返回#REF! 而 VB 方法 (G5) 运行良好 - 这是因为 VB 代码在 file1.xlsm 关闭时运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM