如何在MYVALUES工作表中创建B列,引用MYFORMULA工作表的公式计算对应行结果
如何在MYVALUES工作表中创建B列,引用MYFORMULA工作表的公式计算对应行结果
嗨,我来帮你搞定这个问题!你想要把MYVALUES每一行A列的数值,代入MYFORMULA里的乘法公式计算,然后把结果放到对应的B列,对吧?这里有几种实用的方法,你可以根据自己的Excel版本来选:
方法1:直接复用公式逻辑(最简单,全版本通用)
如果MYFORMULA里的公式逻辑很明确(就是把输入值乘以2),直接在MYVALUES的B列写公式是最省事的:
- 选中MYVALUES的B1单元格,输入公式:
=A1*2 - 把鼠标移到B1单元格右下角的填充柄(那个小方块)上,等光标变成十字形后,按住左键往下拖到B3,这样B2和B3会自动变成
=A2*2和=A3*2,结果正好是你想要的4、6、8。
方法2:用自定义函数(LAMBDA,适合Excel 365/2021及以上版本)
要是你想严格复用MYFORMULA里的公式(比如以后公式修改了,不用再手动改MYVALUES的公式),可以用LAMBDA定义一个可复用的自定义函数:
- 打开Excel的名称管理器(点击顶部「公式」选项卡,找到「名称管理器」按钮)
- 点击「新建」,在弹出的窗口里设置:
- 名称:输入
MultiplyByTwo(起个好记的名字就行) - 引用位置:输入
=LAMBDA(x, x*2)(这里的x是函数的输入参数,后面的x*2就是MYFORMULA里的核心公式逻辑) - 点击「确定」保存这个自定义函数
- 名称:输入
- 回到MYVALUES的B1单元格,输入公式:
=MultiplyByTwo(A1) - 同样下拉填充柄到B3,每一行都会自动把A列的值代入函数计算,结果完全符合预期。
方法3:动态引用MYFORMULA的公式(适合旧版Excel,无需自定义函数)
如果你用的是没有LAMBDA功能的旧版Excel,也可以通过动态替换公式文本的方式实现:
- 选中MYVALUES的B1单元格,输入这个公式:
给你简单拆解下:=EVALUATE(SUBSTITUTE(FORMULATEXT(MYFORMULA!$A$2), "A1", ADDRESS(ROW(), COLUMN(A:A))))FORMULATEXT(MYFORMULA!$A$2):专门用来获取MYFORMULA工作表A2单元格里的原始公式文本(也就是=A1*2)SUBSTITUTE(..., "A1", ADDRESS(ROW(), COLUMN(A:A))):把公式里固定的"A1",替换成当前行的A列单元格地址(比如B1对应的就是$A$1,B2对应的就是$A$2)EVALUATE():把替换后的字符串当作有效公式,计算出最终结果
- 下拉填充柄到B3,就能自动生成每一行的结果啦。
备注:内容来源于stack exchange,提问作者temuri
相关产品推荐
相关产品推荐

