VLOOKUP按次数重复数据 |
您所在的位置:网站首页 › vlookup函数计算单价 › VLOOKUP按次数重复数据 |
到这一步时,你会发现现有条件无法支持直接得到每个日期和对应姓名,那么我们可以换个思路,使用倒推法,退而求其次,继续想,根据现有条件能统计到什么? 从这个现有条件,我们虽然不能知道每个员工的值班开始天数,但是能统计到每个员工的值班截止天数,比如李锐1值班到第5天,李锐2值班到第7天(5+2=7),李锐3值班到第9天(5+2+2=9),......李锐5值班到第15天。 好了,思路来了,我们可以按照员工最后值班的天数查找对应的值班姓名,当然,前提是数据源中包含这个每人值班截止天数的信息,加个辅助列即可 在原始数据左侧插入列,用于标识每人的值班截止天数,在B2单元格输入以下公式。 (下图为辅助列公式) 一句话解析: 用SUM函数配合混合引用生成值班天数的累加值,即每个人值班的截止天数。 现在好了,有了这个辅助列,我们就可以在右侧的对应天数是5/7/9/10/15时直接VLOOKUP调取对应的员工姓名了。 那么现在还差中间的那些天数,如何查找对应姓名呢?继续看下面的解决方案。 解决方案公式 先接着上一节思路把第15天值班的当值员工姓名用公式查找出来,后面再顺藤摸瓜就轻松多了。 在F15单元格输入以下公式,向上填充公式到F2单元格。 注意,这里为了让你更容易理解,所以先在下方写公式,然后向上填充,效果如下图所示。 在F16的单元格VLOOKUP第一参数是15,肯定可以找得到左侧15对应的姓名是李锐5,那么F15的单元格呢? F15单元格VLOOKUP第一参数是14,肯定找不到,会返回错误值,再次用IFERROR函数返回当前单元格下方的数据。 一句话解析: 由于下方的第15天值班姓名已经出来了,所以只要第14天从左侧没有找到对应姓名,说明还是这个人值班,所以从当前公式所在单元格的下方单元格取值就行了。这个思路非常巧妙,你如果一下没懂请回顾上方说明,顺着我的思路再次突破下自己的思维壁垒。 理解后,我们再价格容错判断,形成最终公式。 在F2单元格输入以下公式,并向下填充。 一句话解析: 先用IF判断将可能返回0的结果返回空,再利用倒推法使用VLOOKUP查找,生成所需的每日值班人员列表。 此案例公式虽然并不复杂,但思路颇为精妙,如若能完全理解,将会对你的功力提升大有裨益,如一时不能参透也属正常,可以先收藏起来日后再看。 诸如此类的破解思路和技法在八期特训营的函数进阶班有更精彩的讲解, 多达100种组合思路和嵌套技术,可从下方扫码 进知识店铺找八期。 希望这篇文章能帮到你! >> |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |