考虑到数据隐私,我自己模拟了一...
如何根据单元格是否有值,取到对应行的标题(应该是对应列标题,属于提问描述有误)?并且每行中有且只有一个非空单元格。
考虑到数据隐私,我自己模拟了一个简单的表格,来看如何解决这个问题。
▲ 教学案例模拟
如图,左侧表格记录的是A、B、C、D、E5名选手在一项比赛的用时,总共4局,只记录唯一一个成功的选手及用时,记录了4行。现在要求在I列处,将每一局成功的选手提取出来。请考虑1分钟,如果是你,你会使用什么方法?今天,徐老师跟大家分享两种方法。
方法1:数组法
对这个问题,大多数人的思考逻辑是:在每一行数据中,挨个判断每个单元格是不是非空,如果是,则将对应列标题提取出来。逻辑很简单,但是真的写起来是有难度的,需要对函数、对数组有着非常熟练的掌握。
Excel中Lookup函数使用很简单,你会吗?
职场中,经常会使用Vlookup函数。 为什么职场中会应用到? 如果你有这个疑问,说明你没关注Excel市场 百度招聘数据岗,高月薪2万最 岗位需求第一条:熟练使用Excel 无论是平时项目还是数据汇总,Excel必不可少 此前就有人因Excel不熟练被辞退... 都知道Excel重要,如何快速提
挨个判断每个单元格——须用到数组;
是不是非空单元格——NOT(ISBLANK())
找到对应标题的单元格地址——ADDRESS(所在行,所在列)
提取对应标题——INDIRECT(ADDRESS())
所以你看,首先你得知道EXCEL里有ISBLANK、ADDRESS、INDIRECT等等这些函数,然后才有可能想起它们,将思路拆解并转化为每一步公式。否则,即使你的思路再清晰也没用!学习EXCEL,就是帮助我们把有思路真正转化为有效思考,否则就是空中楼阁。经过拆解后,下面来看我写的公式:
公式:{=INDIRECT(ADDRESS(2,MAX(IF(NOT(ISBLANK(C3:G3)),COLUMN(C3:G3),0)))) }
利用数组公式判断一行中每个单元格是否为非空,如果是则返回对应的列号(COLUMN函数),否则返回0。这样IF函数返回的就是一个数组,以第1局为例,返回结果为{0,4,0,0,0}。IF外面嵌套MAX函数,从数组中求出最大值,以第1局为例,即为4。再用ADDRESS(2,4)计算出对应标题的单元格地址,即$D$2单元格,最后用INDIRECT函数返回文本指向的单元格,得到$D$2对应值——B。其它几行, 同样的公式。
Excel函数——LOOKUP函数
LOOKUP的四种用法 LOOKUP,对不是你熟悉的Vlookup,是LOOKUP。这是一个很神奇的函数。从功能使用上介绍几种用法来介绍。 模糊查询 1、需辅助表 语法=lookup(查找的值,区间,返回的值) LOOKUP是模糊查询,而且区间必须升序排列, 2、不需辅助表 LOOKUP直接使用函数,