Excel 计算式转化成计算表达式
问题描述:
Excel 计算式转化成计算表达式
第一种情况:
单元格 A1 = 2;单元格 B1 = 2;单元格 C1 = 2
单元格 D1=(A1+B1)×C1 显示结果为 8 ;
那么如何才能在单元格 E1中显示(2+2)×2的计算表达式,并且建立关联,当单元格D1变成 =(A1+BA)^C1 计算式后,显示结果为16;那么E1也就自动显示为 (2+2)^2的计算表达式,也就是说随着单元格D1的计算公式变化,单元格E1显示的计算表达式也随之变化.
第二种情况:
是当计算的单元格任意变化时,怎么办?比如说计算式E1=A1+B1+C1+D1,也有D2=A2+B2+C2,还有F3=A1+B1+C1+D1+E1时.如何将计算式变为计算表达式.即计算式可以在任意一个单元格,计算公式所引用数据的单元格可以任意变化,需要显示计算表达式的单元格也是任意的.
答
针对第一种问题,分两步做:
1,自定义一个函数
Public Function K(x As Range)
K = Right(x.Formula, Len(x.Formula) - 1)
End Function
2,在E1中写入公式
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(k(D1),"A"&ROW(A1),A1),"B"&ROW(B1),B1),"C"&ROW(C1),C1)
其它往下拖拉即可.
**自定义函数也可以换成使用宏表函数 GET.CELL()
第二个问题,请同理照推