今天呢,我们要来介绍 excel 函数当中参数最多的 paper by 函数,它足足呢有十个参数,比 grow by 函数呢还要吓人,在这十个参数当中,前面四个呢是必选参数,后面六个啊是可选的参数, p 八百函数的参数呢,虽然很多,我们在使用它的时候,只要呢我们在脑海中时刻的构建出一张数据透视表, 而且呢将对应的参数与数据透视表相关的行列字段还有词联系起来,那我们使用它的时候呢,就会得心应手,为了更好的展示呢他们之间的关系啊, 我们先来创建一个数据透视表,选中存在数据区域的任意单元格,然后呢切换到插入选项卡,数据透视表 现有的工作表,我们放在这边,然后点击一下确定,然后呢把这个 ip 啊放在行标签这边,把这个种类啊放在列标签这边,然后呢把这个销量啊放在值这边,然后关闭掉这里。 像呢我们就得到了一张数据图纸表,我们来看一下 pb by 呢是如何实现同等效果的,我们在这边输入等于 people by, 第一个参数啊,就是我们放在行标签,也就是行字段这里嘛,我们选择的是 ip 这一列嘛, 然后放在列标签呢就是这个种类这一列嘛,所以我们把种类这一列呢也给选起来,放在值就是销量这一列嘛,所以我们选中销量这一列,然后呢要对销量进行求和嘛,所以呢我们用的函数呢是上函数,我们补齐括号,按一下 回车,完全一模一样的效果,只不过我们这边呢是通过函数的形式呢来实现了,在透视表当中,如果呢我们把放在列标签上的这个字段呢给删掉的话, 这样呢就是我们之前 grouby 的这个分组聚合的效果,同样的我们 pbb 呢也可以这样,我们可以把列标签上的这个字段呢给删掉,然后按一下回车,如此我们也达到了分组聚合的效果。 我们呢可以用 grow by 函数呢来书写一下,你会发现了他们只是插了第二个参数 ctrl c, 然后呢在这边 ctrlv, 然后呢把这里呢改成 grow by goodbye, 然后这边呢删掉一个逗号,然后按一下回车。所以省略的第二餐的 people by, 它就等效于 goodbye。 我们 我们呢也可以把它理解为 paper by 呢就是加强版的 grew by, 因为 grew by 的时候特性呢 paper by 呢同样也具有,就比如说我们的把分组依据啊第一个参数呢给删掉,然后呢 ctrl 加 enter 键,这样的效果呢,实际上呢就是对销量啊这个也进行求和。 同样的,我们呢也可以把这个行字断了也给删掉,然后 ctrl 加 inter 键,同样也实现对销量这一列呢进行求和, ctrl j 两下。我们再来讲下一个的对比, grouby 呢可以把第二还有第三餐都给省略, 这样呢就达到去虫的一个效果。同样的 pb buy 也可以如此啊,把这个要聚合的值还有呢函数都给省略,因为我们这边呢是必选的参数,所以这边的逗号呢都不可以省略,是吧,也得到去虫的效 效果。那如果呢你要屏蔽一下这个总计啊,我们呢可以在这里呢加上一个零,古罗拜也是如此啊, 在这里加一个零,完全一模一样的效果。我们 ctrl z 返回一下,我们先把辅助的透视表还有对比的函数呢都给删掉,然后来讲解 paper by 呢所特有的。除了第二餐省略之外呢,我们也可以单独省略第一餐,然后呢把第二餐呢给补上,这里给补上, 按一下回车,你看他就实现了这种横向的聚合,这个呢就是 grow by 函数所不能实现的。当然了,我们也可以把后面的这两个参数呢都给省略掉,然后呢再把第八个参数啊, 是控制列标总计的,这边呢是列标总计的,我们后面的是要补四个都好,然后呢再选择零,但 这种写法呢非常令人费解,我个人觉得是没有必要这样子写,我这边呢只是为了展示他的用法而进行的一个举例。我们呢再回到他最基础的一个形式,然后来介绍各个参数的一个用法。 首先啊,这个行字段啊,我们是可以多列的,就比如说我们呢把 a 列啊也给包含进来,我们按一下回车,他就这种多列的一个效果,我们 ctrl z, 然后这边的一个列字段呢,同样的也可以多列的,就比如说我把低列啊也给包含进来,然后呢我们按一下回车,就达到这种效果。 不过多列的这种透视啊,我们是不建议的,因为容易把我们自己看晕。我们 ctrl z 返回一下,同样的这边的一个值,我们也可以多列,我们呢把它改成 f, 然后按下回撤,非常明显,当我们这边值 包含多列的时候,列标总计呢始终显示为空,只有横标,总计这边呢是正确显示的,所以这种写法呢,也不是我们所推荐的,除非呢你不需要这两个总计。我们 ctrl z 返回一下, 我们先来介绍一下函数的第五个参数,第五个参数啊,是来控制是否显示这个标题,他的一个默认值啊是一,就是我们认为这两列呢是存在标题的,但是呢不显示出来,那如果我们选择三,让他显示出来,他是什么样的呢? 这两个标题呢就显示出来了。接下来呢,我们来看第六个参数,也就是控制行标签上总计的一个显示方式,他的一个默认值呢是一,如果我们选择零的话,他就把下面这个总计啊给隐藏起来。其他选项的话,就比如说, 如果呢,你要选择包含小 g 的话,那我们的第一个参数行字段就必须包含有多列了,否则你选择小 g 啊,他就一定报错。具体的用法呢,和 grow by 函数呢是一样的。接下来呢,我们来看第七个参数, 它可以用来控制行标及总计的排序。什么意思呢?就比如说我们这边输入的是一,那这边的行标切拿就执行升序的排列 a 到 j, 对吧?那如果我们这边输入的是负一,它就变成了 j 到 a, 对吧? 如果我们这边的改成二,他又是对哪一列进行排序呢?他是对水果这一列进行声序排列吗?显然不是的,他是对这个总计啊执行声序排列的操作, ctrl 加 inter 进行声序的一个排列, 我们呢可以把它改成负二,他就变成这种降序了,因为我们这边的行标签加上这个总计,总共呢只有两列,所以我们这边如果输入三的话,他就超过他的列数了,函数呢就会报错。我们返回一下, 为了说明这个排序啊,我们把第四参的这个函数呢写的更加复杂一点点,就比如说写成这样子,堆叠了一个最小值的函数,这样呢我们就有两个总计了,所以这边如果呢,我们把它改成负三, 实际上他是按照最小值进行一个倒序的排列,我们按一下 ctrl 键,按照最小值进行倒序的排列。 当然我们这个排序的参数啊,也和 gruber 函数一样,它也是支持数组的,当它是数组的时候,它就只能对这个行字段啊进行排序, 这个时候呢,一般呢要有多个行字段他才有意义。第八和第九个参数的用法呢,其实和第六第七个参数的用法呢是一样的, 就比如说我们这边的一个列标的总计啊,他是指这两个总计吗?他一个默认值呢是一,如果能不能改成零的话,这两个总计呢就没有了,我们的省略不写。 然后呢再来看一下这个排序,如果我们这边输入的是一,那他就对这个列字断了进行排序,就是对福禄这一行呢进行排序,我们按一下回车,他进行一个深序的排列,对吧?如果呢我们改成负一, 他就变成了这种倒序的排列,就 vegetable 放前面了。为了更好的说明这个参数对总计排序的控制啊,我们先把这个函数呢给精减 成这样,然后呢把这个负三改成负二,就变成这种效果,然后呢把这里呢改成负二, ctrl 加 inter 键,你看他这边呢,是不是就按照总计道序进行一个排列呢?如果呢,我们还是按照原来的那个显示方式这样,然后呢把这里呢改成负二, 这样子看的话呢,你第一眼的话呢就会毫无头绪,怎么这边又是降,这边又是升呢?实际上这边排序的控制啊,我们只要看 some 这里,然后呢一个个的对下来,他一定是倒序的, 本质上我们这边呢是有两个总计的,所以我们可以把这里呢改成负三,他是不会报错的,我们按一下回车,他是按照最小值进行倒序排列的,是不是?其实啊,我们也可以把这个结果啊变得 更加直观一些,把这个 h 时代改成微时代啊,按下回车,这样呢就更加的明显了,这样呢就是一个道序的排列, 最后一个参数啊,就是我们在透视之前对表格呢进行筛选,它与 grew by 函数的最后一个参数的用法呢,几乎是一模一样的, 也和 fit 这个函数的第二个参数的用法呢是一样的。这里呢我就不展开详细的介绍,下一次我们将介绍 paper by 函数的具体应用,敬请期待吧。
粉丝9634获赞3.6万

怎么把下面的排版表转换成如右图的二维表格式?首先输入 pivot 函数,在第一个参数中框选毕列的日期作为行的分组依据。在第二个参数中框选系列的姓名作为列的分组依据。 在第三个参数中框选地列的班次作为聚合的值。在第四个参数中选择 rate x 函数,表示以文本连接的方式聚合。在第五个参数中输入三表示显示标题。在第六个参数中输入零,表示不显示行总计。 在第八个参数中输入零,表示不显示列总计。最后用 draw 函数删除第一行,得到最终转换的效果。

今天我们要来介绍一个分组的案例,左边的这张表格呢是原表,我们呢需要根据产品的名称把它对应到的机台的名称呢放在一行上, 如果机台的名称呢有重复,需要进行去重的操作,最简单的方法呢就是分布写,我们呢首先把产品的名称啊给拿出来,等于 uni, 把这个产品的名称啊给拿出来, 我们呢可以用 fit 呢进行筛选,等于 fit 要返回的机台的值,筛选的条件就是产品的名称等于这边产品的名称,这样呢我们就可以拿到产品名称对应的所有机台, 然后呢再去一下重,还是用刚才的这个 uniq 函数,然后呢再转 置一下方向 to rose, 把它转成一行,因为等一下我们必须往下拖拉嘛,所以呢这边呢必须锁定行,按两下 f 四,按下回车,我们往下拖拉,这样呢就搞定了。如果呢你想一个函数啊拿到所有的结果, 那我们就可以用 reduce 函数呢来堆叠一下,方法呢其实也是一样的,我们呢先把这个公式啊给复制一下,然后呢在这边输入等于 reduce, 即使这样我们随意写一个,因为等一下呢我们也用不着它, 然后呢也是对这一列呢进行去虫,对产品这一列进行去虫,然后呢是 lind 显示参数 s, y, y 呢就是去虫后的产品的名称,他一个个的传递进来嘛,所以呢我们还是把刚才的这个公式啊给粘贴进来,这个一期啊,我们就改成 y 就是产品名称去虫后的每一个值,他每次呢传递一个进来,然后呢把它放在一行上,然后呢再把这一行的值啊与传递进来的这个产品的名称进行一个横向的对叠,然后呢,再进行纵向的对叠, 补齐所有的括号,按下回车。第一行呢,我们不要做,然后呢,再屏蔽一下错误值,如果是错误值的话, if na, 那就返回空号了。 其实啊,我们也可以用 grew by 的容错特性啊,来实现同等的效果。我们呢,可以用 grew by 聚合函数嘛, grew by 分组依据我们选择产品的名称,需要聚合的值就是机台的名称,然后呢,输入 linda 新式参数,传递进来的 s, s 呢,就是 每种产品名称对应的所有机台的名称。我们呢,还是和刚才一样进行一个去虫的操作, uni 进行去虫,然后呢,把它转成横向的一行凸肉吗?把它转成横向的一行,补习括号,然后呢,我们不要这个总记,我们按一下回车, 这边啊,虽然显示的是错误值,但实际上里面的数据呢,是还在的。我们呢,可以用 reduce 函数呢,把它给还原出来。 我们呢,先把这个结果啊存入变量 s 当中 let, 把它存到 s 当中来,然后呢,把 s 当中的第一列给扔掉, 然后呢,再用 radio 函数呢把它给堆叠起来,纵向的堆叠起来。 west, 我们来看一下最终的结果,对吧?他还在的,是吧?然后呢,我们再屏蔽一下错误值,屏蔽一下错误值 n a, 如果是错误值的话,就返回空码,对吧?然后再拼接一下这个产品的名称,那不就好了吗? h d, t s 的第一列嘛,就是我们刚才的第一列,把它拼接起来,补齐所有的括号,按一下回车。 其实这道题啊,我们还可以用 p 不败函数呢来解决,这个思路呢是由最清风大佬所提供的,我们呢先来观察一下最终呢我们要返回的这个结果,这个结果啊,像不像是由透视表所得到的产品的名称呢,放在行标签上, 然后呢有一个字段呢放在列标签上,这样的结果呢其实非常符合 p y 函数返回的结果,所以呢我们就可以往 p y 函数的这个方向上呢去思考。难点呢就在于我们如何构建出一列的字段呢,可以放在这个列标签上,我们呢 再回到原来这个表格呢进行观察。对于这个产品来说,我们呢可以认为西亚是他对应的一个机台,然后呢日本机啊,是他对应的第二个机台,同样的这边也是一二三,一二三,不一定是一二三,我们呢可以让产品名称对应的第一个机台 分别呢对应上一个字母,比如说字母 a, 其他不同的机台呢,我们也是按照这样的方法呢,一对应上去,对应的内容呢并不重要, 重要的是呢他们存在的这种对应关系,只要呢他们存在这样的对应关系,那他们透视后或者呢经过变外函数呢处理后,就一定呢是 我们所需要的一个结果。这样呢,我们就得到了一个可以作为 paper by 第二参数的列,我们呢可以在这边输入等于 paper by 行标签码,列标签码,选好聚合的值码,比如说我们这边输入的是 a retude test, 看一下它里面的究竟放置的什么样的值, 里面呢都是重复的字,其实啊我们只需要取出其中的第一个就行,所以呢我们这边呢可以这样子改写 linda 写成全亮的形式,取第一个吗?那就 ats, 然后不记所有的括号,然后呢把这一列呢给扔掉,把从技能给屏蔽掉,这样呢我们就可以得到最终正确的结果, 那难点就在于这列我们如何用公式来进行构造,从刚才这个分析的过程当中呢?我们不难发现,我们想要拿到这个关键的列,我们呢可以把问题呢转化为取得每组组内对应的序号,就比如说这里呢对应第一,这里呢对应 第二一二三,一二三一。那如何进行组内的编号呢?我们先来看黄色这一组,首先啊我们用 uni 函数呢对机台呢进行一个驱虫的操作,对吧? 然后呢再找到每一个机台对应的主内,他在什么位置,刚好不就是他们的编号吗?等一下呢,我们需要下拉,所以我们按两下 f 四锁定行号,然后呢我们往下拖拉,这样呢我们就可以进行主内的一个编号了。那如何用函数呢进行书写呢? 我们删掉它,然后呢把这个公式啊给剪贴起来,这个时候我们就可以用 map 函数了,我们的传入的是两个数组,第一个数组,然后呢第二个区域数组,然后呢是 linda 传入的两个数组呢就对应 两个形式参数, s, y, s 呢就是产品名称当中的每一个值, y 呢就是机台名称当中的每一个值,而且呢他们是一一对应的这种关系,我们呢可以把刚才的公式啊给粘贴进来,那如何对机台这一组呢进行去重呢? 我们呢可以用 fit 函数呢进行筛选, fit 函数在这一列来进行一个筛选, 筛选的条件呢就是产品的名称,产品的名称呢等于 s, s 的就是对应产品名称当中的一个嘛,然后呢把这一行名称对应的所有机台先给筛选出来,然后呢进行去重, 然后呢再求出这一行当中的机台在所有机台当中的一个位置,就是他对应的一个序号了,然后呢我们补齐所有的括号, 按一下回车,这样呢我们就顺利拿到透视的依据啦。我们的把这个透视的依据啊给复制起来,然后呢把它粘贴到这个公式当中,这个呢就是我们透视的依据啦, 对吧,也是一样的结果。为的使得这个函数啊获取到这个标题,我们呢把函数扫描的区域呢都改到了第一行上,所以把这个二啊改成一,把,这里呢也改成一,所有呢都改成一,然后呢这边的参数啊选择三,把这个标题啊给显示出来, 然后按一下回车,产品的名称呢就出来啦。我们这边啊取得第一个值,我们可以把它改写成语法堂的形式,这个函数啊是由果果呢提供的,星狗,这个是一个过时的函数,他都不会有函数的提示的,我们按下回车,对吧,也是一样的结果哦。然后呢我们再 把第一行呢给扔掉, job 把第一行呢给扔掉,再把这个一二三呢改成机台嘛。所以呢,我们用 west 机台按一下回车,扔一行不够,那就扔两行,结果呢就非常的完美喽。

我们来讲一个办公的时间案里,有位同学问如何根据货号颜色尺码从后面的表格里面把数量求出来,那么在求的时候呢,因为他的货号是比较特殊的,有的是幺零幺八减, 而前面呢是给的是幺零幺八,而有的是幺零幺八,对吧?那我们直接是求幺零幺八,是只能得出对幺零幺八后面这个 总和,对吧?那么现在需要的什么?就是幺零幺八和幺零幺八减后面对了数字的总和啊,如果后面包写这个包的就不要, 那么这种数据他只有三个,三个,三种货号啊,三种货号,那我们想要对这种数据进行求和的时候,我们就分别求出第一个是幺零幺八的啊,总的数量加上幺零幺八减的总数量就 ok 了。那么这种工 公式怎么写?注意看哈,鼠标点到这个单元格,因为这个公式很长哈,然后呢,我们点这个单元格,然后呢鼠标点到这个编辑栏里面写, 因为如果功能很长,直接单元一个里面写,他会把左侧的这个条件给挡掉啊,很麻烦啊,我们写的编辑栏里面就不挡了啊,就等于然后呢上面一幅 s 啊,多条件求和,因为他有多个条件,一个,两个,三个条件啊,我们要写两组, 那么注意这个函数的用法,第一参数呢,就是求和的区域啊,也就是你要加的数字在哪一列,那么对应的是在数量这一列啊,也就是直接选勾啊,点一下勾,哎,他就是这一列选中了啊,求和的区域逗号, 那么第一个条件所在的区域,那我们第一个条件就是货号,对吧?我们去求幺零幺八, 那么对呢,货号在哪一列啊?是不是在这个系列,对吧?点一下第一个调整区,那么写好以后呢,给个逗号,那么对呢,要在这里面找什么呢啊?先去找这个幺零幺八, ok, 也就是说第一个参数就直接点那个单元格就 ok 了啊,然后 逗号,那么记录第二个条件所在的区域,第二个条件是什么?我们要去找黑色的,那么对应的黑色条件在这啊,颜色在这一类啊,点这一类就 ok, 然后逗号, 那么对呢,这个关键词什么呢?就是这个黑这个单元格啊,然后后面尺码到底是一样的,对吧?第三个条件了啊,条件区域,逗号选择这一列,然后逗号再去选这个,那这样算出来的话,他就是幺零幺八的这个 总和啊,我们确定看出来幺幺四,但是呢,我们还要要,要一个什么幺零幺八减,那么幺零幺八减在这里面,我们怎么去把它算出来呢啊?有的同学说我分别在后面加个字啊, 这个东西字怎么加?看好了哈,我们说个加号,然后上门与辅 s 做客户 求过,区域没有变化吧,对吧?还是这一类啊,还是这个勾类啊,然后逗号,那么条件区一啊,还是货号这一类,选中,然后逗号,那么条件有没有变 啊?这里面要变了啊,注意看,先既选择幺零幺八这个单元格啊,因为他是基于这个货号来的啊,然后呢,后面要加一个减,怎么加进去,注意 看哈,就是说在这单元哥后面啊,写一个啊,按快捷键啊,按 shift 加七,做个链接符,然后呢在后面给个双引号,双引号里面写个什么玩意啊?就写这个字就可以了啊,减, 然后这个就 ok 了啊,第一个条件啊,逗号就是说接下来就是第二个区,那跟前面的操作一样的啊,就是颜色了啊这一类,然后逗号对呢是黑色,然后再逗号 那尺码在这一列,逗号对的是尺码,那这样就 ok 了。然后呢,直接确定他会提示客服啊,点一下四自动算好了,然后公式向下填充,就每一个都会自动算出来。 ok, 学会了吗?点个赞哦。

昨天呢,微软呢又进行了函数上一个非常重磅的更新,增加了两个万众期盼的新函数,一个呢就是分组聚合的 group buy, 一个呢可以实现透视功能的 pivot buy。 另外呢,这个 percent of 可以配合这两个函数呢来使用。除了新增这三个新函数之外,微软呢也同步更新了以前需要配合 linda 函数使用的这些数组函数的函数语法,增加了所谓的 eta linda 支持。 什么是 eta linda 支持呢,你可以简单的理解为函数公式的一种简写形式,就比如说我们以前呐要对这每一行进行求和的话,我们呢可以用 viros 函数呢来进行书写, 等于 by row, 它要扫描的数组,然后呢是 linda 传递给 linda 的 s 啊,就是扫描数组当中的每一行,我们需要对每一行进行求和,那我们呢就可以用上函数,然后呢对每一行进行求和嘛, 非常的简单,然后我们按一下回车,这样呢他就实现了对每行进行求和。有了这个知识之后呢,我们就可以把这一串啊直接呢改写成 sum 就行,然后按一下回车,同样的也返回正确的结果。在这个函数公式当中啊,我们呢直接呢把 sum 之间呢等于 linda s some s 这种形式呢就叫做 e t a 的 linda 支持。我可以再举两个例子,你可以认真的体会 一下这种简写呢是如何实现。原来啊,我们通过形式参数啊来传递值的,就比如说 我们呢用 scan 函数来进行数组的扫描, scan 第一个参数呢是起始值,如果呢我们省略不写的话,就会把我们扫描的第二个参数的数组的第一个值一当做起始值传入形式参数,就比如说我们这边呢是 linda, 然后呢 s y s 的起始值呢就是一。但是如果我们用简写的话,就比如说我们这边用 some 函数,你猜一下, 我们补气框按一下回车,他会是一个什么样的结果呢?你看他就实现了这种累加的效果,这种函数简写的等效形式呢,实际上呢是这样子的,等于 linda, 如果我们写全的话, some s y 这个呢就是它的等效形式,发现没有,我们这边的定义的两个形式参数,同时呢传递给这个函数,就可以把这部分呢直接简写为 some 哦,不仅仅说这边呢只能传递一个参数 reduce 函数呢,其实呢也非常的类似,我们呢可以在这边写等于 reduce 第一个参数起始值,不写也是呢,把这个我们要扫描的这个数组的第一个值呢当做起始值, 这个时候呢,我们可以用 west, 然后补齐括号,按一下回车,你会发现他返回的是一模一样的数组,为什么会实现这种效果呢?他的等效形式呢,实际上呢是这样子的, 等于 lend s y, 然后呢也是 with that s y, 原理呢几乎是 是一模一样的,我们的 linda 呢有两个形式参数,同时呢传递给后面的这个要计算的函数的两个参数,所以呢我们就可以把这一串啊简写为 with that 就可以了。 有了这个基础之后呢,我们再来看这两个函数呢,就会比较容易理解,就比如说我们先来看一下这个 groten by, 我们呢直接在这边书写,等于 groten by。 第一个参数呢就是我们的分组依据,我们的是要以组别进行分组嘛,就比如说我们这边是 a 组,然后接下来是 b 组, 然后接下来呢是 c, 第一组,我们呢就可以选中主编这一列。第二个参数呢就是我们要聚合的值,就比如说我们要计算了他每一组当中的一个总销量是多少,那我们就可以选中销量 这一列。然后呢接下来呢就是我们要对销量进行求和嘛,所以呢我们用 some 函数,然后我们补齐括号,按一下回车,你看这样呢就瞬间得到最终的一个结果,非常的好用。 这个呢就是古鲁拜函数最基本的用法了。接着呢我们再来看一下其他的参数,他是如何对最终的结果呢进行控制的,就比如说我们这边的第四参数,他是来控制标题呢,是否显示出来。我们这边选择三的话, 我们先补齐括号,按一下回车,来看一下结果,你看他就是把这边的组别的第一个当做标题了。那如果我们这边选中的是从 a 开始,也就是从组别开始的话,然后要聚合的这一列呢,也是从标题行开始。这个时候我们再按一下回车,这里的组别是出来了, 但是后面啊总销量这边的标题呢,好像没办法添加上去,没有关系,我们的接着往下讲解,后面呢自然会有方法。接着呢我们再来看第五参数, 非常明显啊,第五参数呢是用来控制总计的显示方式,就比如说我们选择的是零,他就没有下面这个总计了。 需要注意的是,我们聚合呢是一列,所以这边呢就没有所谓的小计了。所以我们这边如果选择的是二函数呢,就会报错, 他的一个默认值呢,就是一,也就是有总计的这种形式。其他的一个选项啊,只要他包含小计,就一定会报错。我们呢再选择一个没有小计的负一,我们再来看一下他的总计呢,就可以放到上面去了,嗯,他就变成这种样子,我们不写, 让他默认有总结就行。接着我们再来看一下第六个参数,第六个参数啊,就是进行排序,我们这边呢只能输入两个值,一个呢就是负一,一个呢就是一,一呢表示声序排列,负一呢表示降序排列,他默认的就是一,就表示声序排列吗, 就是从 a 到 d, 那如果呢,我们想倒过来,那就把它改成负一,对吧。接着呢,我们再来看一下最后一个参数,最后一个参数啊,可以来筛选我们最终要聚合的效果,就比如说我们最终的效果呢,不需要包含 a, 那我们可以选中主别这一列, 然后呢不等于 a, 然后按一下回车,它最终聚合的结果呢,就没有 a 了。需要注意的是,最后一个参数啊,只能返回单列的 果子,而且呢,这一列的行数必须与低参数所在的区域或数组的行数是一致的。接着呢,我们着重来讲解第二和第三参,为了减少难度啊,我们先不考虑后面的这些参数, 我们呢都把它给删掉。我们都知道啊,这边的一个 summer 是 linda sum s 的一个简写形式嘛,所以呢我们可以把它补全, 这边呢他就不会有自动联想了,所以我们书写的时候呢,必须非常小心,防止呢我们把它这个函数啊给写错了, 它实际上呢就是等效于这种 linda sum s, 我们按一下回车,同样的也是正确的一个结果。为什么要讲到这种全亮的形式呢?因为如果我们要聚合文本字的时候,就无法直接使用这种简写的形式了,我们这边要 聚合的列呢,我们就可以把它修改成咪列这里了,然后呢把 somes 改成 test join, 就是聚合这列的一个文本值吗?聚合这边的一个分格符呢,我们是中文状态下的顿号, 第一个参数不写的话呢,就是忽略空单元格,然后也是 s 补写括号,按下回车,他就是分组聚合的这种效果了。但是下面的一个总技能非常的长, 所以呢我们最好呢是把它给屏蔽下来,所以我们在第五个参数呢添加一个零,就屏蔽掉下面的一个总计,然后呢再把它调整一下,这样呢就会好看一点点喽。 这边的一个 s 啊,实际上呢就是按照组别对姓名这一列进行筛选,然后形成一个数组, 这个数组呢就代表一个 s, 就比如说我们按照组别 b 对姓名这一列呢进行筛选,筛选之后呢就剩下这两个人,那 s 呢就代表这两个,所以呢 test join 呢,就把这两个给聚合起来了。但是呢有一个非常特殊的函数,也就是这次新增的函数 person of, 按一下回车,然后呢再把这里呢改成销量这一列,因为我们这边呢无法呢对文本呢进行嗯求百分比的操作嘛,所以我们必须选中销量这一列,我们按一下回车,然后呢把它改成百分数的形式, 这个呢又是怎么传递的呢?首先呢,我们来介绍一下这个函数的语法,等于这个函数第一个参数啊,就是分子的值,他就 对我们选中的这一列呢进行求和,然后呢除以分母的值,就比如说他对我们选中的这个区域呢也进行求和,然后我们按一下回车, 这个值呢是怎么算出来的呢?就是这个数组的和除以后面这个数组的和,它就等效于 some c 二到 c 六,除以 some c 二到 c 八。 所以这边的一个等项形式呢,实际上呢,它是这样子的,等于 lend s y。 这个时候的 s 啊,是指我们按照组别对销量进行筛选之后形成的数组,我们放在 person of 的第一个参数 s 码,然后这边的一个 y 呢,它比较特殊,它实际上只带的是销量这一列的值。 y, 我们补起 所有的括号按下回车,我们呢可以手动来进行验证一下,就比如说我们这边的 v 组,它的数量最少嘛,所以呢我们可以这样子写, percent of, 按照咪组对销量呢进行聚合,然后聚合完了就只剩下这两个值,然后呢 y 就是整列的值嘛,然后呢我们补习括号,按一下回车,对吧?零点八七五。 我这边的数据呢,是由随机数组生成的,所以呢他随着公式的计算而不断的发生变化,但最终计算的结果呢是一样的, 这个呢算是一个比较特殊的一个例子了,那如果呢,我想同时求百分的占比,还有一个总销量,那我们可以这样子写,我们先把这个呢给移掉,然后呢修改一下。最后这里首先啊,这个百分的占比,还有一个销量啊,我们是放在 不同的列上嘛,所以呢,我们可以用 s deck 进行一个纵向的拼接,然后拼接成两列嘛,百分的占比呢,就是 a person of, 总销量呢就用萨马进行求和补气括号按下回车。但是这边的一个表明啊,就非常的奇怪,所以呢,我们可以用 vista 来进行一个修改,等于 vista v s t, a, c, k。 因为前面的这个竖组啊,是横向拼接的,所以呢我们需要构造一个横向的竖组,所以呢我们可以这样子写,占比, 横向的数组嘛,所以我们用逗号,然后呢是总销量补习括号, 然后按一下回车,这样呢我们就可以得到最终正确的一个结果了。把这里呢也给刷一下,就比较完美了。 那如果呢,我想占比总销量文字这样竖着排,然后呢对应的数值呢,也是这样竖着排,那我们呢可以这样子改写, 把这个 v step 改成 h step, 然后呢把这个 h step 改成 v step, 然后呢再把这个逗号啊改成分号,然后再按一下回车,这样呢就达到最终的一个结果了。最后呢我们再屏蔽一下总计,但是因为这是测试版的新函数啊,所以非常的不稳定。 如果呢我在第六个参数啊,加上一个零,然后按下回车,这样一定闪崩的,我已经测试过多次了,为的不闪崩呢,我把 把它改成比较稳定的旧版函数,比如说求平均值啊之类的,我们加一个求平均值吧,这样呢我们就达到最终的一个效果了,那如果呢,我想计算出每一组呢有多少人,然后总销量呢是多少,我们呢可以修改第二个参数, 把它改成这样的一个区域,然后呢把这个求平均值,把它改成计算数量靠着 a, 然后呢把这个占比啊改成人数,人数 看一下回车,对吧?我们呢可以利用这个特点啊来实现这种逆透式的魔力,就是把这样的一个二维表转化成标准的异维表,我们函数是这样子写的,等于 group 拜分组的依据呢,我们是姓名这一列吗?然后值呢就是科目的一个分数,最关键的一步来了,我们呢需要把每一科目的值呢纵向的对叠起来, 所以呢我们需要有很多的上函数这样的对接起来,同时呢也要把科目的名称呢放在列上,所以我们是这样子构造的, if 构造一个横向的数组,然后呢这边呢有很多的上函数, two corn, 就是把科目转成一列,然后补齐括号,这样呢我们就构造出两列,一列呢都是上函数,一列呢就是这个科目的值, 这样呢就符合我们刚才介绍的最后一个结构嘛,然后呢我们再加第六个参数是零屏蔽一下,总计按一下回车,这样呢就实现了 所谓逆透式的一个模拟,非常的强大。最后呢我们来介绍一下如何呢,把这样的一张一维表,我们呢用一张有标题的一维表来演示呢会比较好,我们呢可以在公式栏这边输入等于 give it by。 第一个参数啊,你可以理解为放在透视表上的行标签的字段,那我们要把它放在行上,所以我们可以选中姓名这一列,然后第二个字段呢,你可以想象为放在透视表的列标签上, 所以呢我们可以选中这一列,就相当于对这列呢进行去重,然后值的话呢自然就是分数这一列了。然后呢我们这边呢只有唯一值的话,用上面函数就可以,你也可以用 max, mini 啊,都可以。最后呢我们标题呢是需要它显示出来的,行上的总结 呢,我们也让他显示出来。排序的话呢,我们就不管他列上的一个总计呢,我们也让他显示出来一排序,我们也不管。然后呢我们补气括号按一下回车, 你看这样就实现了透视表的那种效果了。然后呢我们再把上面这一行给丢掉,用函数呢就是 job, 非常的一个完美哦。

今天我们要来介绍 paper by 函数的一个案例,就是要把左边这样比较分散的数据整理成右边这样比较规范的一维表。 普通函数啊,想要实现这样的效果呢,还是相当麻烦的,但我们有的 pawby 函数之后呢,我们就可以从这样的角度呢进行思考,我们呢只需要保证字段还有对应的数值之间的这种关系,然后呢放在 pawby 合适的参数上,就可以轻易实现这种效果。 我们呢先从结果上来观察,要保持字段还有对应数值之间的关系呢,比较简单,但是我们最终呢想要拿到这样的结果, 仅仅靠这样的关系呢是远远不够的。我们呢把字段呢放在第二个参数,也就是列标签上,然后呢把它对应的值呢放在撇拜函数的第三参数,也就是它的值上, 那我们最终呢只能拿到一个姓名的字段呢,对应的里面很多的姓名,那如何使得这个姓名的舒展开来呢?我们从结果上来观察的话,如果我们这边的每一行呢都对应的一个值,就比如说第一行对应的是一,其他的行呢,这样依次的对应下来,把它放在行标签上, 这样呢我们用 piper by 展开的时候呢,他就自然是这样子的,这个呢就是我们用 piper by 函数呢处理问题的基本思路。首先呢我们需要对结果啊进行一个观察, 然后呢想方设法构造他的行标签还有列标签。如果呢,你对我刚才的这段思路的分析感到云里雾里,就说明啊你对 p y 函数的用法呢还不是非常的清楚,那你可以移步到我之前的这个视频学习后呢,再来观看一下本视频。我们三 这里,我们首先啊需要拿到他们之间的对应关系,因为我们这边的每一小组的数据呢,都是在一列上嘛,所以呢,我们就可以用 two column 来进行逐列的扫描,同时呢去掉空格,我们选择包含数据的区域,然后呢忽略空白, 逐列呢进行扫描,也就是这里呢放在一列,然后呢再放这一列,再放这一列,如此旺夫不起括号,按下回车。这样呢,我们就拿到了没有空白的数据,然后呢再把这个结果呢存入到变量 a 中。 let a, 然后呢我们就可以用 test before 拿到字段了 a, 在这个分格符之前拿到这个字段,对吧?再把这个字段呢存入变量 b 中。同样的道理,我们呢用 test up 扯拿到字段对应的值,这时候我们就可以用 paper by 函数来进行聚合啦,等于 paper by 低参数呢,省略不写,我们就默认了他没有行标签列标签呢就是对应的我们这个字段嘛, 它的值就是这段对应的值嘛。然后呢是 linda, 我们保持它的值呢不变,然后不记所有的括号,按下回车。我们呢不要这个总计无总计, 这边啊,虽然显示的是错误,但数据呢依然是存在的。我们呢先把这个结果啊存入变量 s 当中, 然后呢把这个第一行啊给扔掉。 drop, 把它第一行呢给扔掉,然后呢把这些错误的数据呢都横向的拼接起来。我们呢可以用 reduce, 就是把它里面的数据啊都给还原出来。 h step, 这样呢,我们就拿到所有的数据啦。然后呢,我们再屏蔽一下错误值, if n a, 再把刚才那个标题啊拼接回来 with that take 第一行嘛, s 的第一行,把它给拼接起来, 我们拉大一点点来看,这样呢,我们就拿到最终正确的结果。最终的这个结果呢,和我们所需要达到的这个效果啊,在顺序上呢,也有些区别。所以呢,我们只需要进行一个排序就 ok 了。这个时候呢,我们就可以用 salt by 进行排序了。 salt by 排序的依据呢就是第一行,我们呢可以用 match 函数找到第一行 take s e, 也就是第一行,找到第一行当中的每个值在原来句从的这个 b 当中的位置, 然后呢精确匹配,他默认的是进行一个深序的排列。所以呢,我们就顺利拿到最终正确的结果啦。我们呢,可以稍微精简一下代码,因为西亚只是出现过一次嘛,所以呢,我们可以把这里呢都给删掉,然后呢把这个西亚给替换进去。 b 呢,出现了很多次,所以呢,不能把它给删掉,还是保持它的变量原来结果呢,对吧?这种方法实际上呢,我们是利用 paper by 的容错特性来实现的。 事上呢,我们也可以像刚才开始介绍的思路那一样,通过构造行标签来实现同等的效果。我们先把这个结果呢放在这里, 然后复制一下前面的这一段代码。我们呢先把字段还有它对应的值先取出来,研究一下,这里呢,把它存入变量息当中。然后呢用 h step 先把它显示出来,我们先观察一下字段还有它对应的数值,很明显呢,我们需要把这一组呢对应一个值,这一组呢对应一个值, 每一组呢都是以姓名作为开头的嘛,它对应的这个变量呢是 b, 所以呢,我们可以用 scan 函数呢来扫描 b 这个数组。 scan 函数扫描这个数组,它的起始值呢是零,我们扫描 b 这个数组,然后 linda 新的参数 s, y。 先来判断一下传入进来的每一个值是不是等于姓名,如果他是等于姓名的话,那就加上前面的那个值,也就是 s。 我们补齐所有的括号,按下回车,这样呢,我们就得到了一个分组的依据,我们呢还是用 h stand 呢,把它给显示 一下, h step b, c。 这样呢,我们就可以用 paper by 函数来进行透视啦,这个呢作为行标签,这个呢作为列标签,然后呢这个呢作为值,对吧?我们先把这里呢给删掉,然后把这里呢剪切起来,输入函数。 paper by 旁标签嘛,就是我们构造的这个序列的值,列标签就是 b 嘛,然后呢,值就是 c, 在这两个条件的限定下,他只是对应唯一的一个值,所以呢,我们可以用 t 函数就行。然后我们补齐所有的括号,按下回车。我们先把总计啊都给屏蔽掉,无总计,无总计。 然后呢,我们再来处理一下这个标题的排序问题,我们呢可以用 h step 在行标签上再拼接一个序列号,然后呢,他就会以第一行 这个序列号啊先进行升序的排列嘛,所以呢,我们还是用 match 函数呢进行查找,我们要拼卷那个序号呢,其实就是通过查找 b 数组当中的每一个值,再去重后的位置, 我们这边啊自然用的是精确匹配,所以最后一个参数呢,我们空着,这样呢我们就拿到了 b 对应的序列号,然后呢我们再把 b 啊给拼接起来,这样呢我们就把两列啊都作为列标签,然后呢我们再按一下回车,这样的排序呢就对了。 然后呢我们再把第一行还有第一列呢给扔掉就行。 drop, 然后补齐所有的括号,按一下回车,这样我们也同样拿到最终正确的结果。 同样呢也精简一下代码,这里的 c 呢只出现过一次码,所以呢我们可以把 c 子带的部分呢给剪切起来,然后呢把这个变量给删掉,然后呢再把这边 c 子带的部分呢给粘贴进来,然后再按一下回车,我们也拿到正确的结果了。

大家好,欢迎来到一个社交通公开课堂,今天我们来学习多列条件去从求技术,这个也是很多同学在工作中会经常遇到的一个函数写法场景, 我们今天就一起来学习一下,我会详细的给大家讲,如果你觉得我讲的不错的话,点赞关注,支持,同样我们这里只讲干货内容,你的互惠教程也不一定会讲到他的。好,我们直接来看一下我这个成绩单。然后呢,有 两个班级有些像张三这个人,他补考了三门科目,理事呢,补考了两门科目,现在呢,我要算出一 一班有多少人进行了补考,二班有多少人进行了补考。那么大家都知道,像张三,虽然说他补考了三门,他考了三次,但是在算人数的时候他只能算一个人,对吧?包括你是一样的,那么这个呢,就是我们 我们的班级姓名,这个呢是多列条件进行去从,当然如果你要用鼠标操作点点让自己去数也可以啊,这种小儿科技巧这里不讲的啊。那么另外一种呢,你可能是用啊数据透视表,把它添加到数据模型,然后把它添加到非重复技术,也可以算出来的,但是如果你用的是 wps, 我 这里来就给你们慢慢讲函数。好,同样的我们直接来。首先大家都知道我们求技术用的一个函数叫的 ctrl ex, 那么因为我这里是多条件,所以说我们要用的 ctry ex, 我们直接来第一个, 第一个参数,我们的这个统计区域,那么这一个,那么第二个参数条件区域是什么呢?那条件区域其实也是我们的这个,然后呢第三个还有一个就是班级啊,还 这个呢,就是我们的姓名,那么姓名这个是统计区,那么他的条件是什么?还是这个, 然后我们括号回来,然后呢?因为公式的 iphone 要向下拉,所以说我把这一部分的啊都按 f 四基因绝对引用掉。然后我们回车大家看一下,然后张三呢啊,就统计他这个人出现了,上次因为 这是两个条件,两个条件是起的关系,然后李氏呢是一般的,还出现了两次,那么我们应该怎么来算出张三他在一般呢只算到一次呢?也就算一个人呢?大家注意看,我们算出来的结果是三三三,对吧?李四呢是二二, 那么其实我们需要转一下思路,就把这个三把它变成三分之一,加三分之一,再加三分之一,那是不是得到一啦?那你 以四二把它变成二分之一加二分之一,是不是就得到一啦?对不对?所以说我们这里需要将这个算出来的纸作为分母,那我们的分子是什么?那分子就是一,所以说我们在前面用一除以刚才我们得到了这一个值。然后回车,大家注意看,然后 现在的话,你看,比如说一般的对不对?我只需要先圈中啊,我们人工肉眼圈中啊,你看这里呢,我们就算出来是五个人,对不对?那么你看张三,他 那就是等于三个零点三三三,然后加起来是不是等于一呢?然后你是也同样的,那么这个时候我们就得到了,具体啊,每个班级有多少人,对吧?但是呢,我们需要将这个公式把它 嵌套到班级的这一个条件店里面去,那么我们就需要还再加一个条件,那么就是把我们这个班级这个参数把它加进 去,那么我们就在诚意啊,条件跟条件之间数字公式,我们之前给大家讲过了,用信号存起来,那我们再乘以什么?乘以我们这个班级,那么我们就是这个区,如果等于啊我们这个班级,那 这个区域,那么按 f 四进行绝对引用,然后括号回车,然后这个时候你看我们现在得到了这一个值,我们将班级这一个判断结果啊放飞处也就是一啊一乘以刚才的数,那么还是得到这一部分值,然后下面这一个我因为我现在呢是同 接的是一班,那么一班的话,下面的二班呢?他就是回复式,复式就是零乘以任何数都得零,对吧?然后这样其实我们就得到了,你看一般的这一部分的数据,那我们手工绘中一下,你看是不是就刚刚才的五,对不对?然后下面为零,那么就他直接还是 为零,对吧?那这个时候我们就只需要在外面再嵌套一个上,是不是就搞定了,对不对?然后呢?因为这里用的是数组,所以说大家回车的时候一定要按数组的三键结束,因为我用的是 f 三六五版本,我们这里直接就按 n 套回车搞定,对不对?你看现在就得到了五,那么我们再把这个公式 点切一下,我们把它粘贴到这里来,然后公式向下拉,然后得到了二班七个人,那么我们可以数一下二班的, 那么这里一个、两个、三个、四个、五个、六个、七个,对不对?结果就是这样的,大家去好好理解一下这个公式。好,今天的课程就到这里。

今天我们要来介绍两个非常重要的数组切片函数 take 和 job, 这两个函数的基础用法呢,非常的类似,也非常的简单,以至于刚出来的时候,我都觉得没有单独讲解他们的必要。 但是随着学习的深入啊,我发现啊,这两个函数的用法呢,还是可圈可点的,有一些用法呢,你在官方的帮助文档当中呢,可能都找不到相应的说明,但他们呢又非常的重要,所以呢就有了今天的这个视频。 首先我们来介绍一下他们的基础用法, take 就是获取的意思,所以呢它的作用呢,就是从数组当中获取相应的行数或者列数, job 就是扔掉的意思,所以它的作用呢,就是从数组当中呢删除相应的行数或者列数。就比如说我们这边 输入等于 take, 我们要获取的呢,就是这个纵向数组的前面两行,所以呢我们只需要在第二个参数当中输入的是二,然后呢补习括号,按一下回车, 我们呢就得到了这个数组的前面两行。那如果呢我要获取后面这两行呢,我们呢可以把这个二改成负二,按下回车后面这两行也可以得到。所以从这边啊,你可以看得出来,如果行这边的一个数字呢,是正数,就取前面的几行,如果是负数,就取后面的几行, 取列的用法呢也是一样的,我们呢可以在这边输入等于 k, 就比如说我们选择这一行,这个时候我们第二参数呢,省略不写,就表示呢获取所有行,因为我们这边啊只有一行,所以你这里写一也是可以的,我们呢省略他,然后呢我们取前面两列,然后按下回车,他就把前面 两列呢给取出来,取后面两列也就加上一个符号,按下回车,他就把后面的这两列呢给取出来。我们刚才介绍的呢,都是单列或者单行作为 take 的第一个参数,那如果呢,我们把第一个参数改成多行多列呢?就比如说我们呢选中的是这个五乘以五的矩阵, 我们这边的第二个参数呢,省略不写,就表示呢获取的呢是所有的行,我们这边的第三个参数呢是一个负二,就表示呢获取后面这两列,所以没有意外的话呢,函数呢应该返回倒数呢,后面这两列我们按一下回车,对吧? 那如果呢,我想获取前面两行倒数呢后面这两列,那我们可以在第二个参数这边给他限定一下要获取的行数,也就是前面两行,这个时候我们再按一下回撤,他就把前面两行的后面这两列呢 给取出来。接着呢我们再来介绍两个比较特殊的情况,我们呢先不考虑这边的列,就比如说我们取的是前面的两行,对吧?我们这边总共呢有五行,如果呢我们要取的行数呢,多于可取的最大行数,就比如说我们取的是六行,来看一下他会是什么样的结果, 他不会报错,同时呢依然的保持着最大的行数,我们把它改成七,其实也是一样的结果的,所以呢我们就有这样的一个结论,如果我们想要获取的行数或者列数大于可获取的最大的行数或列数,函数返回的呢就是最大的行数或者列数, 那如果我们这边要获取的函数输入的是零,也就是说我们没有获取任何一行。由于赛当中呢没有表示空数组的形式,所以我们按下回车之后呢,函数是 报错的,他的这个错误呢就是空数组的错误啦。 job 的用法呢,几乎是一模一样的,我们呢可以在这边输入等于 job, 我们选择这个区数组,比如说我们呢扔掉前面两行, 他是这样的,我们呢扔掉后面两行,他就是这样的,我们扔掉后面两列,也就是第一个参数省略不写。 扔掉前面两列,就是把这里呢改成二,对吧?同时呢扔掉前面两行,还有前面两列啊,就是这样扔掉前面这两行,然后呢扔掉,再扔掉前面这两列, 也就是剩下这里了,对吧?无论呢是 take 函数呢还是 job 函数,他们呢都有一个非常重要的属性,那就是如果啊他们的第一个参数呢是包含区域引用属性的数组的话,就是直接选中的这种引用的话,那他返回的结果呢,也包含 了区域引用的属性,就比如说我们这个返回的结果啊,你可以等效于他返回的是 c 四到一六这个结果,他们两者呢是完全等效的,这也就意味着他返回的这个结果啊,可以直接作为像 opposite cut if 或者 some if 需要去引用属性的参数,我们呢可以用函数来验证我们刚才的那个说法。我们呢可以在这边输入函数 is refer 来判断一下我们返回的这个纸啊,是不是具有区域应用属性。我们按一下回车,然后呢我们把这里呢拉大一下 through, 对吧? 说明啊,它是包含区域引用属性的,正是因为它包含了这种区域引用属性,所以我们在使用的时候呢,都必须非常的小心,就比如说还是刚才的这个数组,我们想取到左上角的 第一个折,就是这个五,这个时候我们可以用绝对交集运算符 at, 按理来说呢,他应该正常返回,但实际上呢,他返回的是一个错误值,我们呢可以把这个拉大一点点,对吧?他返回的是一个错误值, 为什么呢?因为呢,它包含了区域的应用属性,它就完全等价于这个区域码,所以你直接艾特的话,它和这行并没有任何交集的地方,你要使得它返回正确的结果,首先你要把这个区域应用属性呢给删除掉,所以呢我们可以在前面 加上一个加号,这样呢我们就可以删除第一个参数的区引用属性,这时候呢,我们再按回撤,他就可以正确的返回了,在了解的他们呢具有区引用属性的这个技术之上,我们再来介绍一下他们的数组用法,就比如说我们在这边输入 take, 我们的第一参数啊,选择的是 一个纵向的数组,然后呢第二个参数,我们这时候输入的是一个数组,我想同时取到这个数组当中的第一行,还有最后一行,这个呢就是一个纵向的数组,我们布局括号按一下回车, 从表面上来看,好像 take 函数呢,并不支持这种用法。我们再来看一下这个黄色的叹号,他也没有给我们具体相关的任何提示,但实际上呢,这里返回的并不是真正的错误。 我们要获取的数组呢,只有一列,而且呢,我们要取出的呢只有一行,所以呢,它对应的应该都是一个单指, 按理来说呢,他是不应该报错的,事实上,正是因为他保持着区域数组的引用属性,所以他访问的结果呢,表面上看起来呢是单值,但依然保持着区域引用的二维属性,所以呢,这个 单元格放不下,他就报错了。要解决这个报错的方法呢,其实也很简单,我们呢可以把这个去引用属性啊给去掉,所以呢,在这边加上一个加号, 他一定呢也可以正确的返回之,对吧?另外一个方法呢,就是用 n 函数进行降位的方法,这个错误呢,就跟 upset 那个错误呢,其实是完全一模一样的,我们呢可以用 n 函数呢来进行降位, 他依然呢也可以返回出这个正确的结果,我们返回一下,当然了,我们也可以用 reduce 函数,像 groupy 函数那样,在里面这种虚假的报错显示出真身,所以呢,我们可以用 reduce 函数这样子写,让他显示出真身。 western 这个呢就是 eta 的语法堂了, 这里呢就不再进行坠数,对吧,他也可以把这个真丝呢给显示出来。既然这两个函数的第二和第三参数他们都支持数 数的用法,那我们呢可以进行大胆的尝试,就比如说,我们在这边输入 take 函数,我们对这一列呢进行获取,然后输入呢,第一个张数呢,是 row 的函数,从一到五,然后呢补齐所有的括号,按一下回车,他返回的依然是这种虚假的错误,而且呢依然保持着单元格的应用属性, 所以呢我们可以用 samtote 函数呢来进行聚合,让这些呢隐藏在虚假错误后面的纸啊给选择出来, 我们来进行求和的操作,然后呢补齐这边的一个括号,按一下回车,这样我们是不是就实现了累计求和的效果?这个用法呢就非常的类似于 upset 函数的第四第五餐的用法, 我们呢也可以等价的书写出同样的公式, upset 从这里呢开始偏移,然后呢偏移的一个高度呢也是从一 一到五,这边呢也是虚假的错误,我们同样的也可以用 sumtot 函数啊,把这个虚假错误后面的值 给聚合出来,我们不记所有括号按一下回车,同样呢也达到了这种累计求和的效果,但是这种写法呢是不是更为的简洁呢?接下来我们就来详细介绍一下 take 函数这部分的计算过程。 我们在第二个参数当中呢使用数组,所以前面对应的第一个虚假报错呢,就是对应前面第一行的值,第二个虚假报错呢就对应前面两行的值,第三个呢就对应前面三行,下面呢以此类推,这不间接实现了累计求和的这种效果吗? 接下来我们就来看一下我们如何巧妙的用 take 函数来创建 p y 函数的分组。依据我们来看一下这个案例,我们这边呢有很多部门,每个 部门呢都有相应的退单原因,就比如说 k 部门就有两单嘛,就把这两单呢平铺在一行上,然后呢 y 部门呢这边呢就有三单,然后呢就把这里呢平铺到这行上,我们仔细观察一下,最终我们所需要的结果 是不是和 pivot 函数返回的结果呢非常的类似呢,所以呢我们就可以想到,我们呢需要用 pivot 函数呢来进行处理,每个部门呢对应着多次退单,每一次的退单呢都对应着一个字段,所以我们要构造的 标签,实际上呢是以部门为主,别对推单原因呢进行依次的编号即可,就比如说这边的编号是一,这边编号是二,这边是一二三,然后呢我们用必不败函数进行透视的时候,他就会呈现出这种效果, 所以呢在这个思路的指导下呢,我们可以这样子写,如何实现这种组内的编号呢?我们就可以利用我们刚才介绍的这个函数来进行构造了,因为我们等一下需要这个标题吗,我们选中的区域数组呢是从 b 开始的,然后呢偏移的行数呢就是六行吗?一到六, 这里,实际上呢就是取前面一行,前面两行,然后前面三行,前面六行,对吧?然后呢再分别计算出对应部门出现的几次,这样呢就可以实现主内编号的效果,所以呢我们在这边输入 cut if 参数呢还是部门这一列, 我们按一下回车,是不是我们就达到了主内编号的这种效果啦,然后呢我们把它做成可以透视的列标签,加上 d, 这样我们再用 piper 函数 数呢进行处理的话呢,就非常的简单了,我们呢把它给剪切出来,用 pip by 函数呢写在这边等于 pip by, 第一个参数呢就是行标签了,我们选择单号部门两列列标签呢,就是我们刚才创建的这一个分组依据嘛。然后呢值就是退单原因, 因为我们这边退单的原因呢,都有唯一值,所以呢我们可以用 t 函数就行,我们这边需要是标题的,但是呢我们不需要总记,所以呢我们可以把总记啊给屏蔽掉,这里的总记呢我们也不要。然后呢我们按一下回撤, 接下来我们再把第一行啊给扔掉,这样就可以顺利达到最终正确的结果了,非常的完美。

大家好,欢迎来到 excel 技巧通公开课堂,今天我们来学习三八八可以函数的第三讲,我们多条件进行技术或者是求和。我们先看一下给到的一个套路公式,就是三八八可以等于我们的条件区域,先去判断第一个条件是否等于他, 然后判断出来的结果,把它包起来,然后再用新号去乘以我们第二个条件去再去乘以我们的第二 二个条件。如果说你还有第三个条件,那么就在后面再乘以我们的第三个条件,那么如果说你只是强求计数,那么就是直接把所有的条件判断结果乘起来,然后括号 就结束了。如果说你是还想根据这个条件判断的这个结果,再把它带到我们这个数量和金额里面去,那么你就把这个求和 去,再把它盛进去就可以了。为了方便大家,呃,这里呢用透视表的数据思维给大家讲一下,那么像我这个表呢,就是典型的异味表,异味表呢,我们上面这个标题啊,这个呢就是我们的字段,然后字段下面呢像这个名称,他对应的这些水果呢,这些呢就是他的相 啊,就是上面标题是字段,下面呢是项。那么如果说你在表示字段之间的关系的时候是撇的关系,你就用心号把它撑起来, 如果说这个条件跟条件之间是货的关系,你就用加号,这个只是我们的字短之间的关系,如果说你是相之间的关系,是货的关系,你就要用这样写条件,字短,然后等于我们这个大口号,相一和相二,这个呢就是我们的一个常量数组,可能大家不太清楚这个距离 怎么用的啊?我们现在来用一个实际的案例给大家演示一下,比如啊这里有一个水果清单,现在呢我要根据这两个条件判断来求出我们西瓜二月份的数量,那么我们直接首写一下单一上班搭配。第一个,那么我们先去判断 月份是不是二月份的,那么我们的这个条件自断,那么就是我们的这个二月份的这部分数据区也是我们的日期,然后呢那判断,因为我们这里呢, 他是要判断是不是二月份,所以说我们先要用一个貌似来求出这个区域里面的是不是是等于二月份的,如果这个等于我们二 二月份,那么这是第一个判断条件,我们先将这个判断切割,然后用括号把它包起来,然后呢第二个判断条件呢是西瓜,然后呢这里呢浅 显然月份和名称他们是自断,自断之间就是二月份的西瓜,显然这是个起的关系,对不对?起的关系,那么就用新号把它撑起来,然后我们就用新号 乘起来,乘以什么,我们的这个名称就是我们的条件自动区域这一部分,然后再去判断等于我们的这个西瓜,然后括号, 然后还有跨当,如果说你只是想判断二月份的西瓜有多少条记录,那么你就直接可以回车结束了,然后我们回车给他看一下,那么这里呢有三条记录,这里呢不是指数量啊,这里三条记录那二月份的西瓜,那么这里, 呃这里一条,对吧?然后这里一条,然后这里一条,那么这个呢只是得到了二月份西瓜出险的计数,那么现在我要求他对应的数量呢?我就在后面再乘以 他的求和数据区域,那么再乘以这个数量所在的区域,对吧?然后我们 确定回车,然后你看是不是得到了十五,那么他就是怎么算的呢?二月份西瓜,那么就是这里三个,然后这里加六个,这里就九个,九个,再加一个,这里六个,然后就十五个,对吧?然后他就是这样算的。那具体的运运算原理我们也可以给大家猜出来,给大家详细的讲一下。 比如第一个我们要判断他的月份是不是得二月份,我们直接用的貌似,对吧?貌似这部分,然后他回测,你看他的结果就是吗? 这个是一月份,这是二月份,那么他是否等于二呢?就等于我们的这个二呢?我们确定你看他就走得到出和复式,我们前面讲过啊,复式就是我们的零,然后呢这个出就是我们的一,然后呢 再跟后面的这个西瓜去判断,那么西瓜他就是等于我们这个西瓜所在的这些部分的数据区域,然后等于我们的这个西瓜,然后我们回车,对吧?然后你可以看到,然后就是这两个进行相乘,对不对?因为我们是用新号,他是起的关系就相乘,那么就相当于啊,您 乘以零一乘以零啊,就因为你可以把所有的这些货是看到零,然后竖看到一,然后最终就得到了我们这个数量是三个,然后三个呢再去乘以他对应的数量,最终得到是十五啊, 这个呢就是我们三八大个的,他是一个内存数轴,他也是符合我们这个数轴的算法,然后第二个呢,我们这里要求出二月份西瓜或者是香蕉,然后呢是本地的这个产地出来的,他的数量是多少呢?那么同样呢,我们先写 前面一部分三包大颗粒,然后同样我们二月份,对吧?先去做一个判断,然后呢这里用 boss 等于我们的二月份,然后呢这个是判断结构,我们将它包起来,然后乘以, 乘什么?乘以我们这里的西瓜或者是香蕉啊,因为这里呢是他要的是西瓜和香蕉,其实就是西瓜和香蕉求和啊 加起来的,那么这里就是货的关系,这里的西瓜好香蕉呢?我们前面讲的西瓜好香蕉呢,它其实在我们这个异味表里面属于某一个象,那如果说象直接是用货的关系呢?我们就用这种一尾的这种写法,那么具体怎么写呢?就是 是我们的条件之段,那条件之段呢就是我们的这一部分,这一部分所有的条件数据区域,然后呢等于我们的大口号,那这就是一个常量数轴,然后呢一个是西瓜,然后第二个是我们的 香蕉 啊,括号,然后我们可以先确定回测给大家看一下,然后这个时候我们得到的是数量六啊,这个数量六还没有乘以这个数量啊,这里的六是怎么得出来的?那么我们可以给他标示一下啊,二月份的西瓜这里,然后和香蕉这里, 那就是这六条记录,对不对?那这个呢就是我们得到的二月份那么西瓜或者是香蕉的数据记录,然后呢后面又要加一个本地,那么我们就直接在后面再加一个,乘以一个本地,然后 在于我们的这个本地,然后我们再乘以他的数量,这一部分啊括号,再括号回来,然后最后得到了十三,那么十三呢?他是怎么算出来的呢? 那么我们这里已经得到了啊,二月份西瓜或者是香蕉了,那么本地的呢?我们再给他表示出来,那本地的就只有这个啊,这两个是外地的,那么这个也没有,那么就只有本地的,就最终的就只有这些, 那么那么就是这里七啊,加六一十三啊,得到了这个数量一十三啊,这个逻辑,大家去好好去理一下思路啊,好好理解一下这句话啊。 这个标题你可以理解为这是自断,自断之间如果是企的关系,我们用新号货的关系,用 我们的加号,如果说是相之间的判断,那么相的话一般情况下就是货,你不可能说是既是西瓜又既是香蕉,不可能出现这种情况,也就是说相与相之间的判断呢,你就用这种常量数轴,那么就是用这种写法啊,我们的这个条件, 这个区域等于我们的向一,那么向一就是我们的香蕉,然后呢向二就是我们的西瓜,然后呢这个呢就是将他们加起来,这个是汇总的关系。好,今天的课程就到这里。

各位亲爱的小伙伴们,大家好,欢迎来到 champster 在线视频课堂,今天呢,我们来学习 excel 中如何通过抵抗函数来实现一个多条件基础统计。我们先来看演示啊,我们在这里面呢选择月份啊, 以及这个选择不同的条件,比方说我们这个金额呢,大于一百五十的三月,大于一百五十的人数,我们这里面直接可以统计就是三个人, 并且统计出这个总额是大于一百五十的,这个总额是四百呃,四百九十四。如果我们这边变化一下条件,比如说大于一百六十的,他变成了两人,我们可以看到他这边确实是两个人,总额呢是三百四十二啊,也是正确的, 我们也可以改变条件,比方说改成这个小于呃小于这个一百五十的,那应该是有四个人,然后呃总额是四百二,然后呢我们可以改变一下月份啊,同样看这个条件, 那这边的话也可以直接实现这种统计,那如何来实现这种呃通过函数进行这种多条件计数呢?今天我们就来学习通过顶靠的函数来实现这样一个目的,我们把已经写好的公式都给他删掉啊, 我们这里面就是要统计这个啊,某一个特定的月份啊,满足我们给定条件的这个人数有多少个啊?好,我们在这里面呢,可以通过啊抵抗的函数来实现抵抗的,抵抗的函数呢,就是说是从啊 满足给定条件的数据库记住的词端中计算数值单元格的数量啊,它就是一个条件啊,计数啊,好,它这里面的第一个参数呢,就是说是 detabis, 也就是这个表格啊,我们把这个表格选中, 也就是 b 三倒计时这个区域。好,这个是第一个参数。第二个参数是自断啊,自断名,自断名的话呢,就是我们这上面的姓名,一月、二月、三月、四月、五月,这个就是自断名,那我们这里面呢,正好就是我们的这个 g 三啊, 就是我们可以选择的月份。好,这是第二个参数。第三个参数呢,选择条件,那这个条件的话呢,是一定要带上这个自断名的,那我们正好这个 g 三到 g 四,正好就是带自断名和条件的啊, 这个条件呢,可以使用大于小于这些符号啊来代替来代表,就说你的这个条件是大于抹一个值还是小于抹一个值。 好,那这样的话呢,我们就呃输入好我们的这个公式了啊,是不是特别简单呢?第一个参数就是我们的表格本身啊。第二个参数就是我们的字段名,也就是统计哪个月的数据啊,统计的是哪一个字段 好。第三个参数就是我们的条件,也就是说,呃,自断是什么啊?满足的条件是什么啊?就是这么简单的一个啊,参数啊,好确定,那这样我们就可以呃统计出我们的 啊数据了啊,我们这边可以选择不同月份啊,就可以分别进行一个统计。 好,那另外的话就说我们这边还可以算出,就是说这五个人,比方说我们统计数二月份小于一百五十,这个有五个人,但是他们这五个人的总和能不能计算出来呢?也是可以的,我们可以通过另外一个 d 开头的函数叫 啊第三啊,这个第三目呢,就相当于是条件求和,呃,求满足给定条件数据库中记录的次段数据的和 它的使用方法呢,跟抵抗呢,抵抗的函数呢,是非常类似。第一个参数呢,也是我们的数据库区,也就是 b 三到即时。 第二个参数呢,是自断名啊,一样的啊,就是即三。第三个参数就是条件区域啊,包含这个自断名的啊,条件区域即三到即四啊, 他们的参数都是完全一样的啊,确定,那这样就可以统计出符合啊,给定条件的啊,这两个条件都符合的情况下,他的一个啊,人数以及总额就啊计算出来了。好,那这样一个功能呢,在工作中还是非常实用的, 小伙伴们赶快动手试试看吧,感谢大家收看,再见!

各位朋友大家好,今天我们分享的技巧是 power pivot 一个简单的用法,我们取一个工作中的实际案例来说明,比如说我们现在我们公司有一个物料代码,然后对应的是不同的各种商品, 然后我们又有一个销售明细,但是这个销售明细上面他只有物料代码,他没有物料名称,现在我们要汇总各种商品他的一个销售数量和金额情况, 那我们如果说没有用到 popoint 之前,我们常用的做法可能是首先我们要把这个添加一个辅助列,那么它的商品名字是什么?然后我们使用 vivocab 函数来 进行个查找这个物品,然后在物品代码表里面进行查找,匹配好,我们查找出来了商品之后,然后再进行一个插入一个数据透视表, 好比如说在新手工作表我们进行透视,将商品放入到行标签,将数量和金额放入到值,这是我们通常的做法, 那么这个做法是没有问题的,在数据很少的时候也是很方便的,但是我们如果说数据量一旦变成大起来, 这个数据很多,而且经常出现的话,那我们频繁的使用 vivocab 函数来套用的话,就会变得整个数据表格特别的大,然后数据也很多的容易,那么这里只是一个阶段进行的一对一, 有时候我们可能一张表,两张表,三张表或者五张表的自端数据进行一个多层次的关联起来,那么这个时候由于的话盘数的话就特别的卡而且慢, 这时候我们就用到数据库的一个工具叫 power paper 工具,那我们首先选中这部分数据区域,点击 power paper 的,我们点击添加到数据模型好,点击之后他会自动的添加到我们的一个数据模型里面,好,他会生成一个表一, 我们再继续选中物料代码,点击添加到数据模型,这样子的话他会在这个里面有一个表一和表二。 好,有了这两个表之后,我们要主页里面点击关系图,试图我们需要对这两个表格进行贴 添加关系,那么他们之间的字段的话,分别是物料代码字段和物品字段是进行相互关联的,所以我们点击物料代码前面的这个表,然后拖动到物品这个,这里表示他们之间的关系是对应关系。 那么有了这些观念之后,我们可以点击数据透视表好,然后可以放在现有的工作表位置或者一个新的工作表,比如说我们现在放在一个新的工作表里面, 然后它会生成一个数据透视表,那么这个数据透视表它里面的字段的话,会分别有表一和表二之间的字段。那我们要汇总各种商品的一个数量和金额,可以用表二的一个商品,然后用表一的数量和金额就自动的获取了我们的一个 个数量和金额情况,然后我们根本就没有用到 vidocop 函数,那么如果有数据有新增的情况下,那我们直接刷新这个数据透视表,就可以得到我们的一个结果。 好,关于 powerpower 这个工具有没有新的启发,这节课我们就到这里,有什么不懂的欢迎在视频下方留言,我们下节再见。

哈喽,分享个 excel 超级透视表大法,专门搞定多张表格,分分钟完成跨表统计。现在呢,有三张表,不同城市门店的信息表,售卖的商品信息表,还有销售明细流水表。这要是跨表玩函数, we look up 来回倒腾,可不得加班啊,所以可别浪费了 excel 内置的 power pivot。 来吧,看好了,第一张门店信息表,我们在 powerpiver 选项卡下面呢,点击添加到数据模型,在弹出的这个小框里面呢,点击确定。这样呀,就来到了 powerpivert 界面,现在呢是这个数据视图,我们要切换到旁边的关系图视图, 给这里的表一呢,改一个名字,叫做门店信息,方便等一下查看。接下来呢,在这个页面继续导入剩下的两张表,点开从其他源拉到最下面,选择 excel 文件,下一步在这里呢, 好,直接添加我们的剩下的两张表,把这个也勾选上,下一步好导入,成功,完成同样的操作。导入第三张表,好了,三张表呢,全部都上来了,关键操作来了,门店信息表里面的这个门店编码呢,是唯一的, 他在销售流水表里面呢,也有门店编码,而且呢肯定是会有重复出现的。那正好呢,把他俩给连上 看,一对多的关系。同理,商品信息表里面呢,有唯一的商品编码,而在销售流水表里面呢,也会有重复的商品编码,那同理呢,他俩连上看,又是一对一对多的关系。 这样呢就打通了,接下来呀,我们就可以去数据透视表里面各种统计计算了。点开这里的数据透视表,可以选择在现有的工作表里的某个空位置,或者我们直接去新的工作表里确定好。大家看到数据 据透视表字段,这里看到三张表格的所有列呢,都已经列在这里了,现在呢,就可以实现跨表的统计了。比如说呢,我想看 不同的省份对应着不同商品类别下面的每一个商品名称,他们各自的这个销售额的总和是多少?看到这个超级数据透视表了吗?分分钟统计完成。不说了,给 excel powerpiver 超级透视表点个赞吧!