一敌五 是excel中最好的技能!
在武侠小说中,经常会出现——个有主角光环的人,总是靠着“一招鲜,吃遍天下”的“大空子”,万事大吉的情况。都说“职场如战场”,来到职场,面对来自四面八方的工作压力,每一个EXCELER玩家都可以算是“每一个不幸”。那么,我们是不是也可以有这样的“绝招”,让学生“随时翻身”呢?跟上E图的步伐,学一个“以变应万变”的绝技。
[文本]
废话少说,言归正传。同学们知道日常表格中有一种叫“序号”的信息内容吗?今天我们就“玩”这个序列号,我保证你会“爱”这个“小操作”。添加序列号的方法。
在日常生活中,我们每个人可能会以不同的方式添加序列号,可以总结如下。
这是几种常规的添加序列号的方法,但仅限于“常规”。我们今天要学习的是非常规的序列号,它可以给我们带来“前所未有的简单”体验。
一个
“动态”提取非重复值并进行统计。
遇到这种情况,大部分同学都会用两种方法解决:首先复制粘贴e列内容,然后点击“数据”选项卡中的“删除重复项”功能键,再用SUMIF函数求和。B22细胞功能:=sumif(e $ 2: e $ 16,a22,$ f $ 2: $ f $ 16)。
第二,直接用数组函数得到不重复的费用类别,然后用SUMIF函数求和。
A22单元格函数:{=if error (index ($ e $2: $ e $16),small (if (match ($ e $2: $ e $16,$ e $2: $ e $16,0)=row ($1: $16,0)。你会选择哪个?如果我们需要在源数据更新后实现自动统计,那一定是选择函数的方法,但是这个数组函数确实超出了初学者的控制范围(上面的数组函数不是今天的主题,所以我们就不解释扩展了),所以我们就用序号的方法来处理这个问题。
第一步:在第一列数据前插入一列“辅助列”,在单元格A2中输入函数:=if (countif ($ f $ 2:f2,f2)=1,max ($ a $ 1:a1) 1,“”),下拉填写引用的序号。这里使用COUNTIF函数结合绝对引用,使区域中的第一个单元格固定,最后一个单元格逐渐扩展。根据IF函数,如果COUNTIF返回1,则是目标值第一次出现,然后利用MAX函数结合绝对参考,累加唯一出现值对应的序列。这种引用方法在之前的教程中已经介绍过了,朋友们可以点击教程《同样是countifs函数,为什么同事却使得比你好?原因在这里!》学习,这里就不赘述了。第二步:在B22单元格输入函数:=if error (vlookup(行(b1),$ a $2: $ f $16,6,0),""),下拉填充函数引出非重复的费用类别。使用ROW函数获取序列号,使用VLOOKUP逐步画出该序列号对应的费用类别。当ROW函数的序列号没有出现在索引区域时,使用IFERROR函数避免错误值# N/A;第三步:在单元格C22中输入函数:=if (b22=",",",sumif ($ f $2: $ f $16,b22,$ g $2: $ g $16)),当对应的B列不为空时,汇总每个费用类别的金额。这是不是容易多了?而且随着数据源的更新而变化~
2
通过“动态”分类提取细节。
按照上面的思路,我们来看一个我们在工作中经常遇到的问题。如下图所示,我们需要根据不同的费用类别提取相应的明细数据。
第一步:在第一列数据前插入一个空白列。在单元格A2中输入函数:=IF(F2=$G$19,MAX($A$1:A1) 1,""),下拉并填写公式,得到符合条件的记录序号。当数据中的费用类别与待统计项目的G19单元格相同时(注意绝对引用),用MAX功能标记序号。
第二步:在单元格B22中输入函数:=I error(vlookup(row(B1),a $1: $ g $16,match (b $21,$ a $1: $ g $1,0),0),""),下拉并右拉填充公式。这里,仍然使用VLOOKUP函数来索引ROW函数,然后使用MATCH函数来查找标题的序列号,作为VLOOKUP在索引区域中被索引的列顺序。当然,这个表还是可以动态更新的。
三
“动态”多条件提取细节。
同样,我们将“玩”一个多条件索引。如下图所示,需要提取满足多个条件的详细数据。
第1步:在A2单元格中输入函数:=IF (AND (C2=$ d $21,C2=$ d $22,E2=$ f $21,F2=$ f $22),max ($ a $ 1:a1) 1,""),并使用AND函数生成IF。
步骤2:在单元格B25中输入函数:=if error (vlookup (row (b1),a $1: $ g $16,match (b $24,a $1: $ g $1,0),0)。该函数与情况2中的函数相同。来看看动态效果。
四
动态按金额对详细信息进行排序。
要对一个数字列表进行排名,估计很多同学都知道如何使用RANK函数,但是如果有重复的数字,就需要嵌套使用RANK COUNTIF函数来达到不重复排名的效果。这个案例运用了这个原理。
第一步:输入函数:=RANK (D3,$ d $333,360 $ d $17,IF ($ h $1="降序",0,1)) countif ($ d $333,360 D3,D3)-单元格A3中的1。首先通过秩函数得到数值排名,使用if函数。COUNTIF函数是重新排序的关键。它还使用固定区域中起始单元格位置的绝对参考来确定数字出现的次数。如果是第一次出现,1-1=0,会直接返回rank函数得到的排名。第二次出现是2-1=1,在RANK函数排名的基础上是1。这样,重复排名增加一位的过程就完成了。
步骤2:在单元格F3中输入函数:=if error (vlookup (row (f1),a $2: $ d $17,match (f $2,a $2: $ d $2,0),0)。该功能的原理仍然与情况2中的索引过程相同。
通过选择升序和降序选项,动态列出数据的过程如下:
五
动态插入空行。
对于这个要求,目前最常用的方法是“添加序号排序的方法”,如下:
然而,这种方法有一个缺点。如果插入的空行不固定,需要频繁操作,序列号的粘贴过程也比较麻烦。插入几行时需要多次复制序列号。让我们来看一个例子,一个函数序列号被动态地插入到一个空行中。
第一步:将序列号添加到A列的源数据表中,在单元格A3中输入函数:=ROW(A1),然后下拉公式填写。第二步:在单元格F2中输入“辅助”,在单元格F3中输入函数:=if (COUNTIF ($ f $ 2:F2,f2) $ I $11,max (f2:f2,f21),仍然使用COUNTIF结合绝对引用的方法,判断从起始单元格F2到前一单元格区域中的前一个。如果该值小于第1行的间隔数,将显示已出现的最大序列号(由max函数导出);否则,累计序列号1就是函数中F2 1的运算。然后下拉填充功能。如果数据较多,本文介绍一个用“名称框”代替下拉填充的过程。常识:在单元格中输入一个函数,然后选择“名称框”,输入要填充区域的地址,按回车键,然后按CTRL D(向下填充),或者按CTRL R(向右填充)完成该区域的填充。
第三步:在G3单元格中输入函数:=IF错误(if (AND ($ f3 " ",$ f3 $ f2),vlookup ($ f31,$ a $2: $ d $17,match (g $2,$ a $2: $ d $2,0)。当F3单元格不为空,并且F3单元格不等于前一单元格的值时,使用VLOOKUP MATCH函数的嵌套来引用日程的内容。填写该功能后,达到以下效果。
常识以上五种情况都是一个数据源,我们只用一个“加序号”的小把戏,就轻松解决了五种数据处理的需求。其实这种“加序号”就是我们常说的“辅助栏”。
辅助列在原始数据中,通常在第一列之前或最后一列之后。目的是在不改变原始数据结构的基础上,增加辅助计算的信息内容,以解决一些原始数据无法直接处理的数据分析需求。
版权声明:一敌五 是excel中最好的技能!是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。