11 个解决方案
#1
VB中使用很简单的代码就可以实现EXCEL中VLOOKUP函数的功能了。
#2
当然没有了。如果把数据放到数据库,到是可以用sql语句解决。建议将要查询的数据放到数组中。
楼主还在被那些Excel表折磨?!同情!
楼主还在被那些Excel表折磨?!同情!
#3
是呀
这样看来我要重新写一个可以代替VLOOKUP的函数了?是吧?
这样看来我要重新写一个可以代替VLOOKUP的函数了?是吧?
#4
如果写函数的话,也不是很难,关键是VLLOKUP中的第四个参数(也就是逻辑值---数值的精确值),在VB函数中,不知道该怎样写,请大侠指教,多谢!
#5
数据就是放到数据库中了,那请问VBToy大侠:怎样用sql语句解决?我现在也是单独写个类似的函数,函数中也是又SQL语句(但在之前要对其中的某个字段做一下判断),可就是不知道在excel中的VLLOKUP函数中的第四个参数(也就是逻辑值---数值的精确值),在VB函数中该怎样写,还请指点小妹一下..
#6
字段A 字段B 字段C
2 A D
5 G B
8 X Y
比如上面的的一个表,对应于vlookup(5,array,2),即在表中查找第一列中值为5的行的第二个字段的值,用SQL相当于 "select 字段C from 表名 where 字段A=5"。也可以将数据定义成二维数组,再在数组中逐行搜索。
2 A D
5 G B
8 X Y
比如上面的的一个表,对应于vlookup(5,array,2),即在表中查找第一列中值为5的行的第二个字段的值,用SQL相当于 "select 字段C from 表名 where 字段A=5"。也可以将数据定义成二维数组,再在数组中逐行搜索。
#7
我也是那样写的呀,但问题是如果你那个表是:
字段A 字段B 字段C
2.5522 A D
5.6633 G B
8.8823 X Y
我要取A为5.66334455的值,肯定会提示找不到该值的错误,但如果在EXCEL中用VLOOKUP函数就能找到,原因是VLOOKUP函数的第四个参数"range_lookup"是个逻辑值,它可以返回精确匹配值或近似匹配值,也就是VLOOKUP函数可以在数据库表中找到和5.6633相近的值,你可以在EXCEL帮助中看看详细说明.如果想到解决办法,还请不吝赐教.多谢!!
字段A 字段B 字段C
2.5522 A D
5.6633 G B
8.8823 X Y
我要取A为5.66334455的值,肯定会提示找不到该值的错误,但如果在EXCEL中用VLOOKUP函数就能找到,原因是VLOOKUP函数的第四个参数"range_lookup"是个逻辑值,它可以返回精确匹配值或近似匹配值,也就是VLOOKUP函数可以在数据库表中找到和5.6633相近的值,你可以在EXCEL帮助中看看详细说明.如果想到解决办法,还请不吝赐教.多谢!!
#8
有没有取一个数的精确匹配值或近似匹配值的函数或方法?忘不吝赐教!
#9
在你的函数中也用round函数将对比的数据精确到小数点后相同的位数就可以对比了。具体精确到小数点后几位,就要看情况了。
#10
关键是精确到小数点后几位是不定的,加入像上面表中字段A是5.1,而我现在的值有可能是5.12、5.123、5.1234、5.12345,但要是在EXCEL中用VLOOKUP函数就能直接找到字段A是5.1的值,因为它现在把这些值都取近似5.1了。不知道我说明白没有?还请继续关注.......
#11
搜索与查找值(如5.1)差值最小的值,应该可以解决了吧?
#1
VB中使用很简单的代码就可以实现EXCEL中VLOOKUP函数的功能了。
#2
当然没有了。如果把数据放到数据库,到是可以用sql语句解决。建议将要查询的数据放到数组中。
楼主还在被那些Excel表折磨?!同情!
楼主还在被那些Excel表折磨?!同情!
#3
是呀
这样看来我要重新写一个可以代替VLOOKUP的函数了?是吧?
这样看来我要重新写一个可以代替VLOOKUP的函数了?是吧?
#4
如果写函数的话,也不是很难,关键是VLLOKUP中的第四个参数(也就是逻辑值---数值的精确值),在VB函数中,不知道该怎样写,请大侠指教,多谢!
#5
数据就是放到数据库中了,那请问VBToy大侠:怎样用sql语句解决?我现在也是单独写个类似的函数,函数中也是又SQL语句(但在之前要对其中的某个字段做一下判断),可就是不知道在excel中的VLLOKUP函数中的第四个参数(也就是逻辑值---数值的精确值),在VB函数中该怎样写,还请指点小妹一下..
#6
字段A 字段B 字段C
2 A D
5 G B
8 X Y
比如上面的的一个表,对应于vlookup(5,array,2),即在表中查找第一列中值为5的行的第二个字段的值,用SQL相当于 "select 字段C from 表名 where 字段A=5"。也可以将数据定义成二维数组,再在数组中逐行搜索。
2 A D
5 G B
8 X Y
比如上面的的一个表,对应于vlookup(5,array,2),即在表中查找第一列中值为5的行的第二个字段的值,用SQL相当于 "select 字段C from 表名 where 字段A=5"。也可以将数据定义成二维数组,再在数组中逐行搜索。
#7
我也是那样写的呀,但问题是如果你那个表是:
字段A 字段B 字段C
2.5522 A D
5.6633 G B
8.8823 X Y
我要取A为5.66334455的值,肯定会提示找不到该值的错误,但如果在EXCEL中用VLOOKUP函数就能找到,原因是VLOOKUP函数的第四个参数"range_lookup"是个逻辑值,它可以返回精确匹配值或近似匹配值,也就是VLOOKUP函数可以在数据库表中找到和5.6633相近的值,你可以在EXCEL帮助中看看详细说明.如果想到解决办法,还请不吝赐教.多谢!!
字段A 字段B 字段C
2.5522 A D
5.6633 G B
8.8823 X Y
我要取A为5.66334455的值,肯定会提示找不到该值的错误,但如果在EXCEL中用VLOOKUP函数就能找到,原因是VLOOKUP函数的第四个参数"range_lookup"是个逻辑值,它可以返回精确匹配值或近似匹配值,也就是VLOOKUP函数可以在数据库表中找到和5.6633相近的值,你可以在EXCEL帮助中看看详细说明.如果想到解决办法,还请不吝赐教.多谢!!
#8
有没有取一个数的精确匹配值或近似匹配值的函数或方法?忘不吝赐教!
#9
在你的函数中也用round函数将对比的数据精确到小数点后相同的位数就可以对比了。具体精确到小数点后几位,就要看情况了。
#10
关键是精确到小数点后几位是不定的,加入像上面表中字段A是5.1,而我现在的值有可能是5.12、5.123、5.1234、5.12345,但要是在EXCEL中用VLOOKUP函数就能直接找到字段A是5.1的值,因为它现在把这些值都取近似5.1了。不知道我说明白没有?还请继续关注.......
#11
搜索与查找值(如5.1)差值最小的值,应该可以解决了吧?