如何提取如何保护单元格公式中的公式

查看: 3341|回复: 11
请问如何提取单元格上内的数字或者计算式?
阅读权限30
在线时间 小时
各位高手:
& && &早晨,我在使用EXCEL表格中,遇到这样一个问题,举例说明:在单元格A1内,随意输入数据“ZR-BVV-10”或者“BV-6”或者“NH-YJV-4*25+1*16”,提取单元格A1的数字或者计算式,“10”、“6”、“4*25+1*16”,换言之,输入数据的格式有以下两种,分别为“字母+数字”或者“字母+计算式”,提取的结果都是数字或者计算式,请问应该如何设置此函数公式,谢谢!
07:45 上传
点击文件名下载附件
1.42 KB, 下载次数: 37
阅读权限150
在线时间 小时
本帖最后由 祝洪忠- 于
08:07 编辑
=MID(A1,MATCH(,0/MID(A1,ROW($1:$15),1),),99)复制代码数组下拉
阅读权限90
在线时间 小时
b1=REPLACE(A1,1,MATCH(,0/MID(A1,COLUMN(1:1),2),),)复制代码三键下拉
阅读权限90
在线时间 小时
=RIGHT(A1,LEN(A1)-MIN(FIND({1,2,3,4,5,6,7,8,9},A1&&&))+1)
阅读权限30
在线时间 小时
smhf_6 发表于
=RIGHT(A1,LEN(A1)-MIN(FIND({1,2,3,4,5,6,7,8,9},A1&&&))+1)
该公式已经包涵了常量数组,无需再使用三键了
阅读权限30
在线时间 小时
当我把此公式复制粘贴到本附件表格中,无法正常使用,请问对函数公式如何更改?另外,在函数公式中,“ROW($1:$15)”表示是什么意思呢?谢谢帮忙!
08:17 上传
点击文件名下载附件
123.44 KB, 下载次数: 10
阅读权限30
在线时间 小时
spring1119 发表于
当我把此公式复制粘贴到本附件表格中,无法正常使用,请问对函数公式如何更改?另外,在函数公式中,“ROW( ...
前两楼的公式应该在编辑栏输入,然后按CTRL+SHIFT+回车确定,
四楼的公式直接粘贴就可以了
阅读权限95
在线时间 小时
数组公式:=MID(A1,MIN(FIND(ROW($1:$10)-1,A1&1/17)),99)复制代码
阅读权限95
在线时间 小时
=TRIM(RIGHT(SUBSTITUTE(A1,&-&,REPT(& &,99)),99))复制代码
阅读权限90
在线时间 小时
楼上的公式都是可以使用的,你如果不能使用,
本人猜想:则涉及到基础问题了,比如:
你的样例中数据位置在A1, 于是有公式=MID(A1,MATCH(,0/MID(A1,ROW($1:$15),1),),99)
 但实例中已在D3,那么公式中的引用位置当然要修改了
 但希望不是这个原因,如果是,有点不应该了
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师如何提取EXCELL单元格中的公式ABC列为数值,D列为计算公式,E列为D列的计算结果如A1=(1),B1=(2),C1=(3),D1=(=A1+B1*A3)(括号内为单元格内容,D1为文本),有没有办法把D1的公式提取出来让E1直接使用呢?
这种问题在“知道”上已经出现了需多次,大部分的回答都是:先把公式部分定义成一个名称,然后用Evaluate(名称)函数,但据我实验,这个函数只不过是VBA里的Excel的Application、Chart及WorkSheet对象的方法,并不是工作表函数,所以无法在Excel中直接使用,必须在VBA里自定义一个函数才能使用,我也不知道是不是我用的方法不对.废话少说,看VBA的自定义函数吧:按Alt+F11打开VBA编辑器,插入一个模块,把下面的函数贴进去.Function 计算公式(公式 As String)计算公式 = Evaluate(公式)End Function然后在Excel里插入用户定义函数“计算公式”,参数就是有公式文本的那个单元格,例如公式=(=A1+B1*A3)在D1,就在E1输入“=计算公式(D1)”.
为您推荐:
其他类似问题
扫描下载二维码您的举报已经提交成功,我们将尽快处理,谢谢!
Public Function myfun(x As Range, y As String)
If x.HasFormula Then
If InStr...
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'提取Excel单元格字符串中连续数字的一种方法 Excel教程
作者:Excel教程
浏览:5635次
  ①问题引入  如何提取字母数字字符串的数字部分。例如:如果单元格 A1 包含的是字符串“abc123”,则将值 123 返回单元格 B1 中。   ②解决方案  此解决方案的基本原理是搜索并返回字母数字字符串中的第一个数字,然后只返回其后的数字。  ③算法  此解决方案包括创建公式以完成下列任务:   1、将字母数字字符串分解为单独的字符。   2、确定分解后的字符串中是否有数字。   3、确定数字在字母数字字符串中的位置。   4、计算字母数字字符串中数字的数量。   我们将分别考虑这些任务,然后将各公式整合在一起以得到最终结果。  将字母数字字符串分解为单独的字符  请在此使用 MID 函数。MID 可以根据所指定的字符的数量,从所指定的位置开始,从文本字符串中返回特定数量的字符。此函数的语法是:  MID(text,start_num,num_chars)   Text
文本字符串包含的是要提取的字符。   Start_num
要从文本中提取的第一个字符串的位置。文本中第一个字符占据   start_num 1,以此类推。   Num_chars
指定要 MID 从文本中返回的字符数量。   对于我们的示例,公式为:  =MID(A1,ROW($1:$9),1)  此公式可以分解字母数字字符串,并且实际上会将字符置于工作表的不同行内。例如,对于字母数字字符串 abc123,其所有 6 个字符都将被分开。    注释
可将数值 9 适当增大为任何更大的数值,以适应更长的字符串。在此示例中,最大字符串长度为 9。   值得一提的是,字符串分解之后,“1”、“2”和“3”将被看作文本而不是数字。要将存储为文本的数字转换成数字,请用 1 乘以此公式,例如:  =1*MID(A1,ROW($1:$9),1)  确定分解后的字符串中是否有数字  在此我们将使用 ISNUMBER 函数,此函数可以确定字母数字字符串中是否有数字。公式现在变成了:  =ISNUMBER(1*MID(A1,ROW($1:$9),1))  如果字符串中有数字,则结果将为 TRUE,否则结果将为 FALSE。  确定数字在字母数字字符串中的位置  现在我们将通过在上一段中提到的分解后的字符串的结果中查找 TRUE 值来确定数字的位置。在此我们将使用 MATCH 函数。经过修改的公式现在变为:  =MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0)  要点 必须通过按 Ctrl Shift Enter 将此公式作为数组进行输入。  如果字符串是 abc123,则此公式产生的结果将是 4,这就是字母数字字符串中第一个数字字符的位置。  计算字母数字字符串中数字的数量  现在的任务是计算字符串中数字的数量,以确定返回字母数字字符串中第一个数字之后要返回的字符。   如上所述,可通过用 1 与其相乘,将字母数字字符串中存储为文本的数字转换成数字。例如, =1*MID(A1,ROW($1:$9),1)  将存储为文本的数字转换成数字之后,可以通过使用 COUNT 函数对其进行计数。可通过输入以下公式计算数字的数量:  =COUNT(1*MID(A1,ROW($1:$9),1))  整合各公式  现在我们将使用 MID 函数把此公式的各部分整合在一起,如以下示例所示。  =MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))  从本质上说,此问题可陈述为:确定第一个数字在字母数字字符串(在单元格 A1 中)中的位置。返回此数字及其后的数字。  要将得到的字符转换成数字,请用 1 乘此公式。虽然对此并不严格要求,但如果要对结果执行数学运算,则应该如此操作。下面是要输入单元格 B1 中的最终公式:   =1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))  注意:
必须通过按Ctrl Shift Enter将这些公式作为数组进行输入。
提取Excel单元格字符串中连续数字的一种方法 Excel教程的发表时间是: 17:42:17&来源:
爱盲网提供盲人无障碍浏览《提取Excel单元格字符串中连续数字的一种方法 Excel教程》,感谢作者:Excel教程撰稿!
<div class="number" id="DiggNum_您的举报已经提交成功,我们将尽快处理,谢谢!
可以试一下先选择B15在单击鼠标右键复制在粘帖到B20
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'

我要回帖

更多关于 excel 提取单元格公式 的文章

 

随机推荐