Jack_Kwok 2024-03-07 17:21 采纳率: 0%
浏览 2

怎么引用一个单元格的部分内容,实现同步变动?

怎么引用一个单元格的部分内容,实现同步变动?

img

如图,如何实现 改变 200 和 50 的数值,150 随之同步更改?
已知可以用left、right函数去拼接,但只能适用于其他字符不变的情况下。

各路大🐂,还有其他方法吗?就在同一个单元格内的方法。

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-07 17:21
    关注

    引自免费微信小程序:皆我百晓生

    在Excel中,要实现您所描述的同步变动功能,即更改单元格内的某个数值时,另一个基于该数值计算的结果自动更新,可以利用Excel公式进行动态引用。针对您的例子,在同一个单元格内实现这个目标稍有难度,因为通常我们会用到不同的单元格来分别存储原始数据和计算结果。不过,我们可以通过一个巧妙的方法间接实现:

    假设您要在A1单元格中处理“=200+50”,并希望当修改其中的200或50时,紧跟其后的150能够同步变化。

    一种可行的方案是使用名称定义(Name Manager)结合INDIRECT函数和查找替换函数(比如FIND和REPLACE)。但由于单元格内容不是直接的数值而是文本形式,需要将文本转换为可计算的数值表达式。

    这里提供一个较为复杂但能实现需求的方法步骤:

    1. 首先,定义两个名称(通过“公式”->“名称管理器”新建名称):

      • 名称:Number1
      • 引用:=LEFT(A1,FIND("+",A1)-1)
      • 名称:Number2
      • 引用:=MID(A1,FIND("+",A1)+1,LEN(A1))
    2. 然后,在B1单元格或其他位置放置计算结果,公式如下:

      =EVALUATE(REPLACE(A1,FIND("+",A1),1,"&"))
      

    注意:Excel本身并不支持EVALUATE函数,但在VBA中可以实现,因此您需要借助VBA宏来完成此操作。以下是一个简单的VBA宏代码示例:

    Function EvaluateFormula(cell As Range) As Variant
        Application.Volatile
        EvaluateFormula = Evaluate(Replace(cell.Value, "+", "&"))
    End Function
    

    然后在B1单元格中输入公式:

    =EvaluateFormula(A1)
    

    这样,当你修改A1单元格中的"200"或"50"时,B1单元格会根据新的表达式重新计算结果。

    然而,这种方法可能并不适用于所有情况,并且对单元格格式要求严格,因为它依赖于特定的文本模式。对于大多数实际应用,建议还是将原始数据放在单独的单元格中以便直接引用和计算。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月7日

悬赏问题

  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
  • ¥30 关于R语言运行分区生存模型中的问题!
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀