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 ...
随机推荐
- python 单体模式 的几种实现
这是本人的一篇学习笔记. 本文用 python 实现单体模式,参考了这里 一.修改父类的 __dict__ class Borg: _shared_state = {} def __init__(se ...
- 【LG3768】简单的数学题
[LG3768]简单的数学题 题面 求 \[ (\sum_{i=1}^n\sum_{j=1}^nij\text{gcd}(i,j))\text{mod}p \] 其中\(n\leq 10^{10},5 ...
- mongodb安装教程
MongoDB 下载及安装 MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www. ...
- android studio 下载 sdk 失败
android studio 打开项目出现以下错误时,点击去安装,会提示"All packages are not available for download" 错误. 解决办法 ...
- Dictionary 对象
Dictionary 对象 对象的存储数据键/项对. 语法 Scripting.Dictionary 说明 Dictionary对象相当于 PERL 关联数组. 项目,可以是任何形式的数据,存储在数组 ...
- RAC系统化学习
1.RACSignal: // 只要订阅者调用sendNext,就会执行nextBlock // 只要订阅RACDynamicSignal,就会执行didSubscribe // 前提条件是RAC ...
- 累计进度条 PSP
每周例行报告 本周PSP 类别 任务 开始时间 结束时间 被打断时间 总计工作时间 11月16日 代码 参与团队项目 10:05 12:12 15 112min 写博客 进度统计 21:52 2 ...
- 操作系统学习(一)、80x86保护模式内存管理
整理的不好,凑合着看吧 目录 1.内存及寻址 2.地址变换 3.分段机制 4.分页机制 5.保护 6.去到底部 一.内存及寻址 返回目录 二.地址变换 80X86 从 逻辑地址 到 物理地址 的转换: ...
- pixi.js v5 快速了解
pixi.js 追求简单, 性能,高价值. pixi.js v5将是一交比较大的升级,代码更加精简,性能更加强悍,功能更加丰富,扩展更加高效 pixi.js一步一脚印,版本持续稳定的更新, 深入学习 ...
- shit aliyun
shit aliyun 垃圾的 aliyun 什么鬼逻辑,怎么填写都不对,holy shit! 校验规则: // 对不起,昵称包含不可接受字符或被管理员屏蔽,请选择其它昵称 // 昵称的长度必须大于等 ...