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 ...
随机推荐
- flask前端与后端之间传递的两种数据格式:json与FormData
json格式 双向! 前端 ==>后端:json格式 后端 ==>前端:json格式 html <!-- html部分 --> <form enctype='applic ...
- Hadoop日记Day4---去除HADOOP_HOME is deprecated
去除hadoop运行时的警告 1. 档hadoop运行时,我们会看到如下图1.1所示的警告. 图 1.1 2. 虽然不影响程序运行,但是看到这样的警告信息总是觉得自己做得不够好.一步步分析,先看一下启 ...
- 阿里云Redis外网转发访问
1.前提条件 如果您需要从本地 PC 端访问 Redis 实例进行数据操作,可以通过在 ECS 上配置端口映射或者端口转发实现.但必须符合以下前提条件: 若 Redis 实例属于专有网络(VPC),E ...
- 本地navicat远程连接到云服务器数据库
本来没有开启秘钥的远程服务器端数据库连接非常方便,就在新建连接上填入数据就ok了,但是开启SSH秘钥后的服务器连接有一个大坑,下面来详细讲讲. 其实开启了秘钥,在新建连接下,先选择SSH方式登录到远程 ...
- jQuery .attr() vs. .prop()
Property vs. Attribute 在开始正式比较prop()和attr()两个jQuery方法之前,我们有必要先弄清一下Property和Attribute两个单词的意思.在中文里面,它们 ...
- NodeJS旅程 : module 不可忽略的重点
modules 模块的简介 Module 是Node.js中最重要的一个部分也是进行深度开发前的必修课.掌握Module才能真正理解NodeJS的精髓,你会发现从思路上会有极大的扩展. 学会写mod ...
- Catlike学习笔记(1.3)-使用Unity画更复杂的3D函数图像
第三篇来了-今天去参加了 Unite 2018 Berlin,感觉就是....非常困...回来以后稍微睡了下清醒了觉得是时候认真学习下了,不过讲的很多东西都是还没有发布或者只有 Preview 的版本 ...
- 使用tensorflow实现mnist手写识别(单层神经网络实现)
import tensorflow as tf import tensorflow.examples.tutorials.mnist.input_data as input_data import n ...
- Daily Scrumming* 2015.12.15(Day 7)
一.团队scrum meeting照片 二.成员工作总结 姓名 任务ID 迁入记录 江昊 任务1036 https://github.com/buaaclubs-team/temp-front/com ...
- 20135234mqy-——信息安全系统设计基础第十二周学习总结
process environ.c environvar.c consumer.c 管道写端 producer.c 管道读端 testmf.c listargs.c pipedemo.c 管道 pip ...