粉丝5923获赞3.6万

今天给大家分享如何在引用数据透视表单元格的时候不出现 get provoted 函数。当我们在引用数据透视表所在区域时,往往会出现 get provoted 函数,这个函数在单击数据透视表中单元格的时候, 在公式中自动生成。比如这张工作表中有一张数据透视表,选择挨二单元格,输入等号,再点击数据透视表中记二单元格,那么我们会发现公式中显示的不是 g 二,而是 get provided 函数。 这个函数的功能是从数据透视表中按条件取值,作用是当数据透视表布局发生变化,仍然能按指定条件取值。如果我们不想看到这一长串的公式,其实是可以关闭 get provided 函数的,那接下来我们赶紧来看一下操作吧!选择数据透视表中任意 一个单元格,点击菜单栏数据透视表分析选项卡,在最左侧有个选项,点击一下,调出下拉菜单,选择生成 get provided, 将它前面的勾去掉,再返回到表格, 选择挨三单原格,输入等号,再点击数据透视表中的 g 三单原格。这时候我们看到公式中显示的是 g 三,而不是显示 get provided 函数了。以上就是关闭 get provided 函数的方法, 操作是不是非常简单呢?你学会了吗?觉得有用的小伙伴赶紧学起来吧!记得点赞加收藏哦!

比数据透视表还好用的函数,谁用谁知道。输入等号,再输入 pid, 双击这个函数,第一个参数我们选择店铺列,第二个参数我们再选择月份列, 第三个参数我们选择防晒衣列。最后我们再输入函数萨姆表示求和,然后我们再按回车,结果就出来了。

今天我们要来介绍 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 子带的部分呢给粘贴进来,然后再按一下回车,我们也拿到正确的结果了。

昨天呢,微软呢又进行了函数上一个非常重磅的更新,增加了两个万众期盼的新函数,一个呢就是分组聚合的 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, 非常的一个完美哦。