Excel:公式中的这些特殊数字
19E+307
9E+307是科学计数法表示的一个数字,就简单理解成是Excel支持的一个很大的数字就可以了。
用法示例:
=LOOKUP(9E+307,A:A)
根据LOOKUP函数的性质,提取A列最后一个数字。
24^8或65536或100
4^8=4的8次方=65536,也是一个比较大的数字。
因为2003版最大支持65536行,所以以前会经常看到这个数字。一般用途是排除错误值,当公式下拉超过实际返回数据行数后显示空值。
用法示例:
=INDEX(A:A,SMALL(IF(A$2:A$5>80,ROW(A$2:A$5),4^8),ROW(A1)))&""
公式意思是将A列大于80的数值顺序输出来。
因为原始数据一共有2个大于80,当公式下拉到第3个单元格时,因为已经没有要输出的数据了,所以就引用了A列的第4^8(65536)个单元格(一个用不到的空单元格),这样就返回了空值。
如果原始数据一共就80多行,那么第100行就是用不到的空单元格,公式中的4^8也可以替换成100。
31和0
这两个数字用法实在是太多了。
比如:0可以在判断的时候当FALSE用,可以用某些文本数字+0变成数值,用-(0&mid函数提取出的空)可以把空值转化成0避免出现错误值……
1可以在判断的时候当TRUE,1可以当做1天24小时来计算时间,1可以是比0大的数字被用在Lookup(1,0/条件判断,数据)这样的组合里……还是碰到相关函数公式再单独研究其用法吧。
关于0的使用,建议到Excelhome函数版去查找一个《“0”活多变的公式与格式》的帖子。
41/17或5^19或5/19等等
这几个数字有一个特点,就是运算返回的值里面包括0~9所有的10个数字。
比如:1/17=0.0588235294117647,5^19=19073486328125,5/19=0.263157894736842。
这个一般用于FIND函数在单元格中查找数字时避免出现错误值。
用法示例:
=MIN(FIND(ROW(1:10)-1,A2&1/17))
这个公式用于查找A2单元格第一个数字出现的位置。
ROW(1:10)-1返回{0;1;2;3;4;5;6;7;8;9},然后FIND({0;1;2;3;4;5;6;7;8;9},A2&1/17)查找0~9分别在A2&1/17中出现的位置,避免了查找某个A2中本来没有的数字出错。
比如A2单元格中不包含1,那么FIND查找1时会出错。
如果A2包含负数,可以用下面的公式来完成。
用A2&-1/17
=MIN(FIND(LEFT(ROW($1:$11)-2),A2&-1/17))
5
99是一般用在文本函数中的,也充当一个大数字的角色。
用法示例1:
=MID(A2,3,99)
这个MID函数返回A2单元格中第3个字符后的所有字符。因为不确定A2单元格字符一共多少个,所以就用99来代替了。
也就是只要第3个字符后面的字符不超过99个,就都能正确提取出来。
用法示例2:
=COUNT(--MID(A2,ROW($1:99),1))
这里的--MID()也可以直接用-MID(),前者返回的是正数,后者返回的是负数。
这个公式返回A2单元格中数字的个数(不考虑更复杂情况),和上面一样,不确定A2有多少个字符,因此从A2的第1-99个字符起分别取一个字符,将A2单元格文本每个字符拆开,MID函数部分返回:
={"超";"人";"4";"5";"9";……;""}
这里的99是否可以替换成其他数字呢?
比如说100,200?当然可以,只要超过A2单元格字符长度即可。
为啥弄个99呢,因为99是最大的两位数,应该是想当初“丧心病狂”的既缩短公式长度又保证不出错的用法:)由于99前面没有加$,如果下拉会变成ROW($1:100),ROW($1:101)等。
61%%,1%,10^4,10^6或10000等
这些数字一般是用来将某些数值扩大成原来的1万倍,100倍,或者变成原来值的万分之一,百分之一等。
用法示例:
=INDEX(A$2:A$4,MOD(LARGE(B$2:B$4/1%%+ROW($1:$3),ROW(A1)),10^4))
这个公式根据B列成绩从小到大输入A列的姓名。B$2:B$4/1%%+ROW($1:$3),其中B$2:B$4/1%%将分数变成原来的1万倍,再加上对应的【Excel工作表行号-1】仍然不改变B列数据本来的排序。
但是这样就将分数和行号信息连接在了一起。
B$2:B$4/1%%+ROW($1:$3)生成:{83;770002;920003}后面四位代表行号信息。
然后用LARGE从小到大输入,再将输出的值求对10^4的余数就得到了行号信息,然后用INDEX从原数据区域提取出来。
例如最大的是LARGR({83;770002;920003} ,row(A1))
返回920003,920003再取10^4的余数就是3,也就是最大值92对应的行号信息,然后用INDEX提取出来即可。
71和24
Excel里,时间和日期都是数字,可以显示成不同的样式。
1代表1天,代表24个小时,代表86400秒等等。
用法示例:
A2是上班时间,B2是下班时间,C2输入B2-A2得到的0.38代表0.38天。
如果C2设置成时间格式,可以返回实际时常是9个小时。
如果要显示小时数,而不是以9:00这种格式显示,可以再乘以24:
81900/4/3或类似1900年开头的日期数据
这种返回值一般是两个日期减差或者一个不大的数字显示成了日期格式。
用法示例:
两个日期相减期望得到相隔的天数,但是由于C2单元格也是日期格式,所以就显示成了1900/4/3这种,其实结果是94天。
Excel从1900年1月1日起算1,1900年1月2日算2,依次类推。因为单元格返回数值是94,显示成日期格式就成了1900年4月3日。
更改C2单元格数据格式,显示成数值即可:
942,771或者其他4万多、3万多的数字
这个和上面的类似,一般是某个日期显示成了数值格式。
比如:
9E+307是科学计数法表示的一个数字,就简单理解成是Excel支持的一个很大的数字就可以了。
用法示例:
=LOOKUP(9E+307,A:A)
根据LOOKUP函数的性质,提取A列最后一个数字。
24^8或65536或100
4^8=4的8次方=65536,也是一个比较大的数字。
因为2003版最大支持65536行,所以以前会经常看到这个数字。一般用途是排除错误值,当公式下拉超过实际返回数据行数后显示空值。
用法示例:
=INDEX(A:A,SMALL(IF(A$2:A$5>80,ROW(A$2:A$5),4^8),ROW(A1)))&""
公式意思是将A列大于80的数值顺序输出来。
因为原始数据一共有2个大于80,当公式下拉到第3个单元格时,因为已经没有要输出的数据了,所以就引用了A列的第4^8(65536)个单元格(一个用不到的空单元格),这样就返回了空值。
如果原始数据一共就80多行,那么第100行就是用不到的空单元格,公式中的4^8也可以替换成100。
31和0
这两个数字用法实在是太多了。
比如:0可以在判断的时候当FALSE用,可以用某些文本数字+0变成数值,用-(0&mid函数提取出的空)可以把空值转化成0避免出现错误值……
1可以在判断的时候当TRUE,1可以当做1天24小时来计算时间,1可以是比0大的数字被用在Lookup(1,0/条件判断,数据)这样的组合里……还是碰到相关函数公式再单独研究其用法吧。
关于0的使用,建议到Excelhome函数版去查找一个《“0”活多变的公式与格式》的帖子。
41/17或5^19或5/19等等
这几个数字有一个特点,就是运算返回的值里面包括0~9所有的10个数字。
比如:1/17=0.0588235294117647,5^19=19073486328125,5/19=0.263157894736842。
这个一般用于FIND函数在单元格中查找数字时避免出现错误值。
用法示例:
=MIN(FIND(ROW(1:10)-1,A2&1/17))
这个公式用于查找A2单元格第一个数字出现的位置。
ROW(1:10)-1返回{0;1;2;3;4;5;6;7;8;9},然后FIND({0;1;2;3;4;5;6;7;8;9},A2&1/17)查找0~9分别在A2&1/17中出现的位置,避免了查找某个A2中本来没有的数字出错。
比如A2单元格中不包含1,那么FIND查找1时会出错。
如果A2包含负数,可以用下面的公式来完成。
用A2&-1/17
=MIN(FIND(LEFT(ROW($1:$11)-2),A2&-1/17))
5
99是一般用在文本函数中的,也充当一个大数字的角色。
用法示例1:
=MID(A2,3,99)
这个MID函数返回A2单元格中第3个字符后的所有字符。因为不确定A2单元格字符一共多少个,所以就用99来代替了。
也就是只要第3个字符后面的字符不超过99个,就都能正确提取出来。
用法示例2:
=COUNT(--MID(A2,ROW($1:99),1))
这里的--MID()也可以直接用-MID(),前者返回的是正数,后者返回的是负数。
这个公式返回A2单元格中数字的个数(不考虑更复杂情况),和上面一样,不确定A2有多少个字符,因此从A2的第1-99个字符起分别取一个字符,将A2单元格文本每个字符拆开,MID函数部分返回:
={"超";"人";"4";"5";"9";……;""}
这里的99是否可以替换成其他数字呢?
比如说100,200?当然可以,只要超过A2单元格字符长度即可。
为啥弄个99呢,因为99是最大的两位数,应该是想当初“丧心病狂”的既缩短公式长度又保证不出错的用法:)由于99前面没有加$,如果下拉会变成ROW($1:100),ROW($1:101)等。
61%%,1%,10^4,10^6或10000等
这些数字一般是用来将某些数值扩大成原来的1万倍,100倍,或者变成原来值的万分之一,百分之一等。
用法示例:
=INDEX(A$2:A$4,MOD(LARGE(B$2:B$4/1%%+ROW($1:$3),ROW(A1)),10^4))
这个公式根据B列成绩从小到大输入A列的姓名。B$2:B$4/1%%+ROW($1:$3),其中B$2:B$4/1%%将分数变成原来的1万倍,再加上对应的【Excel工作表行号-1】仍然不改变B列数据本来的排序。
但是这样就将分数和行号信息连接在了一起。
B$2:B$4/1%%+ROW($1:$3)生成:{83;770002;920003}后面四位代表行号信息。
然后用LARGE从小到大输入,再将输出的值求对10^4的余数就得到了行号信息,然后用INDEX从原数据区域提取出来。
例如最大的是LARGR({83;770002;920003} ,row(A1))
返回920003,920003再取10^4的余数就是3,也就是最大值92对应的行号信息,然后用INDEX提取出来即可。
71和24
Excel里,时间和日期都是数字,可以显示成不同的样式。
1代表1天,代表24个小时,代表86400秒等等。
用法示例:
A2是上班时间,B2是下班时间,C2输入B2-A2得到的0.38代表0.38天。
如果C2设置成时间格式,可以返回实际时常是9个小时。
如果要显示小时数,而不是以9:00这种格式显示,可以再乘以24:
81900/4/3或类似1900年开头的日期数据
这种返回值一般是两个日期减差或者一个不大的数字显示成了日期格式。
用法示例:
两个日期相减期望得到相隔的天数,但是由于C2单元格也是日期格式,所以就显示成了1900/4/3这种,其实结果是94天。
Excel从1900年1月1日起算1,1900年1月2日算2,依次类推。因为单元格返回数值是94,显示成日期格式就成了1900年4月3日。
更改C2单元格数据格式,显示成数值即可:
942,771或者其他4万多、3万多的数字
这个和上面的类似,一般是某个日期显示成了数值格式。
比如:
Excel:公式中的这些特殊数字的更多相关文章
- Excel公式中双引号和单引号输入和显示以及函数的选择确认
[Excel中显示双引号] 1.直接输入双引号“”或单引号“ 2.工式中显示双引号需输入“”“”“”(六个引号)或单引号需输入“”“”(四个引号) [Excel中快速确认已选择的函数] 1.用键盘的上 ...
- [每天解决一问题系列 - 0004] Excel 公式中拼接字符串
问题描述: 之前很少用excel的formula,今天用户发过来一个文件,里边存储了很多字段对应的编号.想把这些生成我想要的格式,然后导入代码中,当然可以使用第三方的excel操作库来做.最简单直接的 ...
- Excel公式中问题-记住不要忽略空格!
总结一下之前犯得愚蠢的小问题: 程序:每日报表:从DB下载数据填充到excel,包括3个sheet,sheet1:总结<模板,公式填充,数据源为sheet2,sheet3>;sheet2: ...
- Excel公式中使用动态计算的地址
例:统计A列第四行开始,到公式所在行的前一行的非空白行的个数: =COUNTA(A4:INDIRECT(ADDRESS(ROW()-,COLUMN())))
- EXCEL公式中如何表示回车符?
问题: 将 id credttm cdno cdamt cashbrid cashrole note 转换为 "id credttm cdno cdamt cashbrid ca ...
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式和其他常见Excel中数据转换问题
当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumberi ...
- Excel 2007中自定义数字格式前要了解的准则
要在Excel 2007中创建自定义数字格式,首先应了解自定义数字格式的准则,并从选择某一内置数字格式开始.然后,可以更改该格式的任意代码部分,从而创建自己的自定义数字格式. 数字格式最多可包含四个代 ...
- Excel中带字母的数字序列自增实现方法
示例: 在A1单元格输入以下公式,然后向下填充公式 =".mr"&ROW()&" {margin-right: "&ROW()& ...
- Excel公式错误提示啥意思?
1.#####!返回的结果超出了单元格的宽度:或者单元格的日期时间公式产生了一个负值. 2.#VALUE!使用了错误的参数或运算对象类型. 3.#DIV/O!当公式被零除时产生此错误. 4.#NAME ...
随机推荐
- mac终端将本地代码push到github总结
1.创建一个github账号 2.在本地目录下创建一个本地仓库,用来存放代码 mkdir prepass_repository (/Users/gejuncheng/文件/prepass_reposi ...
- Linux每天一个命令:iperf
iperf命令 Iperf 是一个网络性能测试工具.Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽.延迟抖动和数据包丢失.下载地址:https: ...
- [摘抄]从 GitHub 身上学到的 3 个创业经验
1.找一个大问题去解决 让 Git 更容易使用是 GitHub 的目标,但它从来不是 GitHub 的最终目标.GitHub 的真正目标是让协作和编写软件变得更容易.世界上每一个软件开发者都在努力解决 ...
- OpenCV操作像素
在了解了图像的基础知识和OpenCV的基础知识和操作以后,接下来我们要做的就对像素进行操作,我们知道了图像的本质就是一个矩阵,那么一个矩阵中存储了那么多的像素,我们如何来操作呢?下面通过几个例子来看看 ...
- JWT总结
Json web token (JWT) 什么是JWT? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该toke ...
- Unity插件-NGUI学习笔记
Anchors 的作用 类似Android里面的.9格式图片的功能, 边框可以随着文字变大而变大. 实现方法: 用NGUI 创建一个Sprite, 命名为TextBg, 一个Label, Label的 ...
- Python在函数中使用*和**接收元组和列表
http://blog.csdn.net/delphiwcdj/article/details/5746560
- linux第一次实验报告
http://wwwcnblogs.com/20135228guoyao/4964477.html
- 第一章:帝国的余晖 AT&T公司
启示:自己的想法,有好的技术比什么都重要,一定要注意的是技术,不要贪小便宜,明白自己最先关心的的哪个事情. 书中内容:没有人能活两百岁,也没有公司能辉煌两百年,这就是规律,很难超越.
- MVC 如何设定默认默认路由为指定的Area下的某个action(笔记)
感谢这篇博文的作者:http://blog.csdn.net/chenqiangdage/article/details/48136601 最近使用VS2015开发一个统一认证服务,想将API自己生成 ...