返回信息流在A1:A200的区域中,需要得到最下面的一个数值,该如何写命令呢
要是要倒数第二个数值,又如何写咧,用offset怎么写?
来个达人吧~~~
找到一个 =LOOKUP(2,1/(A1:A200<>""),A1:A200) 但是看不懂,也帮忙解一下吧,3q
这是一条镜像帖。来源:北邮人论坛 / office-tool / #17198同步于 2009/1/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
OfficeTool机器人发帖
问:求最后一个数值
bluetear
2009/1/17镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
vba的话
Range("A200").Select
Selection.End(xlUp).Select
函数不会...
【 在 bluetear (微) 的大作中提到: 】
: 在A1:A200的区域中,需要得到最下面的一个数值,该如何写命令呢
: 要是要倒数第二个数值,又如何写咧,用offset怎么写?
: 来个达人吧~~~
: ...................
lookup具体的看excel帮助
不过应该不是实现这个用的.
【 在 bluetear (微) 的大作中提到: 】
: 在A1:A200的区域中,需要得到最下面的一个数值,该如何写命令呢
: 要是要倒数第二个数值,又如何写咧,用offset怎么写?
: 来个达人吧~~~
: ...................
就是想学函数的,vba的普遍适用性不强
【 在 flycat 的大作中提到: 】
: vba的话
: Range("A200").Select
: Selection.End(xlUp).Select
: ...................
看了,但是没有这个好多分之一的介绍,所以没看懂,这个命令能实现最后一个数值的功能,我试验过了
【 在 flycat 的大作中提到: 】
: lookup具体的看excel帮助
: 不过应该不是实现这个用的.
你可以试下这个
=LOOKUP(9E+307,A1:A200)
不过我完全不懂这是为啥
【 在 bluetear (微) 的大作中提到: 】
: 看了,但是没有这个好多分之一的介绍,所以没看懂,这个命令能实现最后一个数值的功能,我试验过了
LOOKUP,MATCH,9E+307的意思!保证你看过就明白
你认识 Lookup 吗?
我认识 Lookup 是在一家叫良缘的婚姻介绍所。那天我也就为那事去了那家婚姻介绍所,呵,比我早的人还有,于是我就站在老L的身边静静地等着。
老L干咳一声,开始为第一位顾客服务了:你今年多大了?这位先生说话还有点脸红,轻轻说:29。
老L看芳名册了,不,是芳龄册,头也不抬,说:成了,姑娘也是29。
年轻人让开了,后面那位有点经理模样的中年人跨一步上前,刚想问点什么,老L又开腔了:你今年多大了?“经理”只得顺着回答:45。老L说,交钱吧,姑娘36。
老L眼睛往上瞄了瞄,话刚开头:“你今年……”又止住了,怪了,为何不说了?原来那人老L认识,你也认识,是大肚子大耳朵猪八戒,猪八戒像懂规矩似的自己报上了年龄:我今年3680岁,老L恢复了常态,说:如此,给你介绍的姑娘62岁。
这下,我也看出点门道来了:
Lookup(29,{18,18,20,22,25,28,29,30,33,36,46,48,60,62})=29
Lookup(45,{18,18,20,22,25,28,29,30,33,36,46,48,60,62})=36
Lookup(3680,{18,18,20,22,25,28,29,30,33,36,46,48,60,62})=62
Lookup 给你找的人一定不会比你大,同龄或者比你小的人中年龄最接近你的。
Lookup的档案中记载:如果函数 LOOKUP 找不到 lookup_value,则查找 lookup_vector 中小于或等于 lookup_value 的最大数值。
新来的是Match
不知为什么,第二天,Lookup 在良缘婚姻介绍所下岗了,新来的是Match,戴眼睛,说话文绉绉的。
无巧不成书,排在前面的还是那三位,我都认识。
Match 跟Lookup一样,也问,你今年多大了?那位还是回答,29。
Match胸有成竹,说,行,给你介绍7号姑娘。先生满心欢喜离开了。
第二位得到的回答是,行,给你介绍10号姑娘。
轮到猪八戒了,听说猪八戒当书记了,这猪书记早清楚,62岁的是高翠花,60岁的是梦中情人嫦娥,他费尽嘴舌,要Match给他换一个,Match就是不同意,说,这是原则。
打开Match的记录本,你看看:
Match(29,{18,18,20,22,25,28,29,30,33,36,46,48,60,62})=7
Match(45,{18,18,20,22,25,28,29,30,33,36,46,48,60,62})=10
Match(3680,{18,18,20,22,25,28,29,30,33,36,46,48,60,62})=14
9E+307是什么概念?
9E+307是科学记数,用普通记数法写是9后面有307个0,长长的……宋丹丹说了,那是相当的长啊。
如果你到这个年龄,还是到良缘婚姻介绍所找老L和小M,还是那本芳龄册,你说,他们给你介绍谁啊?
想找个18的?没门!
言归正传
你会说,这些我懂,不必费这么大劲,我就是想问个明白,为什么用9E+307?
反正,在构思解题思路时,就有,把那串文本从第一个数字开始,依次取1位、2位、3位、4位……,总共有多长,最后就取多少位。
有一部分,它的结果不是数(这个处理办法你自己看明白),取出的结果是数值的,一定有一个是最大的,它一定排列在最后面(多举些例子,看看是不是这样),我们要取的就是最后面那个数。
为了娶到最后面那位,你就得把年龄往最大里海海的吹,吹!
多少合适?9E+307。
=LOOKUP(562,{5;56;562;562;562;562;#VALUE!;#VALUE!;#VALUE!})
=LOOKUP(1000,{5;56;562;562;562;562;#VALUE!;#VALUE!;#VALUE!})
=LOOKUP(9E+307,{5;56;562;562;562;562;#VALUE!;#VALUE!;#VALUE!})
前面也一样返回562,为保险起见,我们用9E+307查找,为了返回数组中最大的值。
9E+307是一个很大的数,很接近Excel计算允许的最大值,它好记,可以应付几乎所有的情况,所以,约定俗成而用它。
帮助中说,Variant 类型的数据正数最大值是 1.797693134862315E308,可是1E+308就出错了,这是为什么?因为
计算规范
功能 最大限制
数字精度 15 位
单元格中可键入的最大数值 9.99999999999999E307
最大正数 1.79769313486231E308
最小负数 2.2250738585072E-308
最小正数 2.229E-308
最大负数 -2.2250738585073E-308
注:Lookup、Match都还有第三个参数,这个参数可以改变它的查找方式
恩,好的,能用,3q,lookup的帮助也没有说这个9E+307的含义,我换成几千的数值也可以用~~太诡异了
【 在 flycat 的大作中提到: 】
: 你可以试下这个
: =LOOKUP(9E+307,A1:A200)
: 不过我完全不懂这是为啥
这个的原理就是从上往下搜和这个一样或者比这个大的数,
搜不到就返回最后一个。
9e+307就是一个很大的数而已
【 在 bluetear (微) 的大作中提到: 】
: 恩,好的,能用,3q,lookup的帮助也没有说这个9E+307的含义,我换成几千的数值也可以用~~太诡异了
不过这个方法找不出倒数第二个
【 在 flycat (曾经的小十九|狂拍组.最近火锅吃多了) 的大作中提到: 】
: 这个的原理就是从上往下搜和这个一样或者比这个大的数,
: 搜不到就返回最后一个。
: 9e+307就是一个很大的数而已
: ...................