java excel 函数的使用方法_Java开发之Excel函数VLOOKUP的使用技巧

前言

Excel是我们日常办公或者开发中比较常见一款办公软件,因为其方便性,大大被人们所青睐。最近在做中图分类法时遇到了一个难题,那就是已知Excel中存储着中图分类法的名称和中图分类号以及每个中图分类号的父级分类号,如何根据这些信息得到当前分类号的层级深度。如果是一个单元格一个单元格的填写,当然是很简单了,但总的中图分类项一共有4万9千多条记录,一项一项的填肯定是很耗时的。那么如何来解决这个难题呢?

c466cc20318b0f1605aa60c0017e88a8.png

解决思路

1、第一次尝试:SQL语句

首先我想到了利用sql语句来实现,通过update set来更新,经过尝试,此处需要用到游标来实现,但如果用游标会显得很麻烦,况且对这一块并不是特别熟悉。而且这条语句“update table A set 深度=(select 深度+1 from table B where A.item_code=B.out_id )从语法上来说就是错的。

2、第二次尝试:right join

复制两张一模一样的表,利用两表做连接,然后对得出的数据进行条件剔除,总的来说,这种方法也不是特别理想。

3.利用VLOOKUP函数

深度=VLOOKUP(D10,C1:I9,7,FALSE)+1

其中D10代表查找D列第10行的数据,C1:I9是指从第C列第1行到第I列第9行进行表范围查找,7代表是取第7列的值作为结构,FALSE代表的是精确匹配,最后加1是指在匹配行的深度基础上+1

c39b7ab86030cb7ba84af83c6f50ff3e.png

结语

VLOOKUP函数是很有用的函数,尤其是对于一些具有父节点关系的数据,如果通过嵌套查询或者游标更新等方式都很困难的时候,不妨试试导出数据到Excel中,再利用VLOOKUP函数实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值