aiastia / note

笔记
17 stars 5 forks source link

前一单元格显示公式:15*15 ,后一单元格如何通过公式或引用显示前一单元格的的结果 #2

Open aiastia opened 6 years ago

aiastia commented 6 years ago

=EVALUATE(Sheet1!A1) **1. 选中B1,然后打开“插入”菜单选择“名称”命令中的“定义”子命令,出现“定义名称”对话框。

  1. 在“在当前工作表中的名称”输入栏中输入定义的名称“ABCDEFG”(名称名自己定义),在下方的“引用位置”编辑栏中输入“=EVALUATE(Sheet1!A1)”其中里面的EVALUATE是函数Sheet1是工作表1,单击[确认]按钮退出。
  2. 在 B1中输入“=ABCDEFG”,然后选中按住右下角的填充柄向下拉动填充即可。**

https://zhidao.baidu.com/question/21668351.html

aiastia commented 6 years ago
=EVALUATE(SUBSTITUTE(SUBSTITUTE(Sheet1!A2,"[","*ISTEXT(""["),"]","]"")"))

EXCEL中带中文备注的公式

A1中输入 “2[长度]1[宽度]5[高度]” , 在b1中可以直接得出10

8f33a9b66f1fd2927e98be67c834ae62_hd

aiastia commented 6 years ago

Excel自动得出结果(数字前后可以添加文字备注)功能实现步骤:

1、打开excel,按住alt+F11,出现Microsoft VBA编辑窗口;

2、选择Microsoft VBA窗口菜单栏的“插入”->“插入模块”,在弹出的空白窗口输入以下红色字体的代码:

     Function 得出结果(c As Range)
 p = c.Text  
 For j = 1 To Len(p) 
 F:      
        If (Mid(p, j, 1) = "[") Then
                 For i = j + 1 To Len(p) 
                 If (Mid(p, i, 1) = "]") 
                 Then        
                 j = i + 1         
                 Exit For         
                 End If         
                 Next      
           End If  
       If (Mid(p, j, 1) = "[") Then 
       GoTo F 
       End If 
        r = r + Mid(p, j, 1) 
        Next  
        If (r <> "") Then   
        得出结果 = Application.Evaluate("(" & r & ")")  
         Else   得出结果 = ""  
            End If  
        End Function   

3、点保存按钮保存文件后,关闭Microsoft Visual Basic编辑窗口退回到excel的sheet1工作表; 4、选择要作为计算式的单元格和要得出结果的单元格,譬如A1为计算式所在单元格,B1为要得出结果的单 元格,在A1输入“[高度]2*4[长度]”,在B1输入“=得出结果(A1)”回车后即可以得出结果8。

aiastia commented 6 years ago

Function 得出结果(c As Range)
p = c.Text
For j = 1 To Len(p)
F:      If (Mid(p, j, 1) = "[") Then
         For i = j + 1 To Len(p)
         If (Mid(p, i, 1) = "]") Then
         j = i + 1
         Exit For
         End If
         Next
         End If
    If (Mid(p, j, 1) = "[") Then
    GoTo F
    End If
    r = r + Mid(p, j, 1)
    Next
    If (r <> "") Then
    得出结果 = Application.Evaluate("(" & r & ")")
    Else
    得出结果 = ""
    End If
    End Function
aiastia commented 6 years ago
=EVALUATE(SUBSTITUTE(SUBSTITUTE(Sheet1!A2,"【","*ISTEXT(""【"),"】","】"")"))

使用 【】 备注

aiastia commented 6 years ago

=EVALUATE(SUBSTITUTE(SUBSTITUTE(Sheet1!A2,"(","*ISTEXT(""("),")",")"")"))

aiastia commented 6 years ago

image