标签:VBA 自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。...图1 使用VBA,可以自动执行这样的操作,删除工作表所有数据列中的重复行,或者指定列的重复行。 下面的Excel VBA代码,用于删除特定工作表所有列中的所有重复行。...,假设标题位于第一行。...如果只想删除指定列(例如第1、2、3列)中的重复项,那么可以使用下面的代码: Sub DeDupeColSpecific() Cells.RemoveDuplicates Columns:=Array...(1, 2, 3), Header:=xlYes End Sub 可以修改代码中代表列的数字,以删除你想要的列中的重复行。
Excel表的多维表数据结构转换为一维表的数据结构,以供更进一步对数据进行加工整理,生成另外格式的汇总表,这是Excel数据处理的一大刚需,几乎每个Excel表哥、表姐都会遇到这样的使用场景。...很可惜,一般主流Excel插件都仅限于将二维表转换为一维表的功能实现,另外多种多维转一维的需求都未见有实现的功能。此次Excel催化剂将多维表转换一维表的功能发挥得淋漓尽致。...视频演示 https://v.qq.com/x/page/u0634srt7gk.html 多维转一维场景 在本人日常工作中,所接触到的大概有以下几类的多维转一维的数据场景 类型一:一行表头,多次重复相同的数据列...类型三:一行表头,标准的二维表(一般是经过透视后的数据结构) 此类数据类型,主流的Excel二维表转一维表的功能,以下截图故意把透视保留列分开存放,可能部分Excel插件未对其有通用性考虑致使没法使用。...列值字段名称 对数据值区域的内容重新定义是属于什么类型的值数据,如上图的销售量、销售额、销售成本等,对应于拉透视表时的是值区域里的数据列名称。
一维表通过透视可以生成二维表;二维表通过逆透视可以还原成一维表。PowerBI中获取数据后生成的表,一般使用一维表,方便建立表与表之间的关系、书写度量值、生成透视表或图表。...因此,很多时候需要在PowerQuery中将二维的甚至更多维的数据源表转换为一维表。举例1二维表转一维表,年月横向展开的。...转换为一维表,如下:操作步骤STEP 1 PowerQuery获取数据后,按住Ctrl键选中年月以外的其他列,点击菜单栏转换下的逆透视列-逆透视其他列。...操作步骤STEP 1 PowerQuery获取数据后,点击菜单栏添加列下的自定义列,把值以外的所有维度列合并成一列,列和列之间放上与内容不会产生重复的分隔符,比如“**”。...图片STEP 4 转置后,点击表的左上角,将第一行作为列标题。STEP 5 按住Ctrl键选中维度列,然后点击菜单栏转换下的逆透视其他列。
成功替换.png 可以将下图与结果表进行对照 ? 成功加载.png 4.数据的拆分合并提取 打开下载文件中的04-数据的拆分合并提取.xlsx,如下图所示。 ?...加载数据至查询编辑器中.png 选定日期这一列,将数据类型改为整数。 ? image.png ? 删除错误行.png ?...将标题作为第一行.png ? 转置按钮位置.png ? 转置后结果.png ? 将第一行作为标题.png ? 取消自动更改类型.png ? 关闭并上载至原有表格.png ? 上载设置.png ?...打开文件图示.png 不要选中第一列,选中后面的列,然后点击下图所示的逆透视列。 ? 逆透视1.png ? 成功逆透视结果.png 选择关闭并上载至,在窗口中设置值如下图所示。...透视1.png 值列为是否完成销售额,点开高级选项,聚合值函数选择不要聚合,最后点击确定。 ? 透视2.png ? 成功透视结果.png ? 加载至原有表.png ?
但凡从系统里导出来的表,不管是XLS还是CSV,都是一维表样式 换句话说,一维表是符合数据库设计规范的——数据库设计规范是一套参考体系,在技术世界里不分国界地沿用了超过三十年 你只要知道,需要行和列来定位数值的...,就是二维表;仅靠单行就能锁定全部信息的,就是一维表 当然,一维表、二维表可以相互转换 一维转二维用透视表,反之用逆透视 我们把一维表称为源数据,特点是数据丰富详实,适合做流水账,方便存储,有利于做统计分析...一维表显然不适合人类阅读,想了解汇总信息,只能通过透视功能转换为二维表。一维表信息越详实,二维表可展示的方式就越灵活 ? ? ?...3、第一次转置 通过“转置”功能,把月份人次场次,行转列 ? ? 4、第二次“向下填充” 选中第一列月份,依然“向下填充”,把null覆盖掉 ?...6、第二次转置 行列恢复如初 ? 7、首行提升为标题,逆透视 将第一行提升为标题。选取前四列,点击“逆透视其他列” ? ? 8、拆分列 将之前的合并列拆分,还原成两列 ? ? ?
ALL('产品销售表'[产品])”使用了ALL函数,所以,无论什么情况下,都是产品列的所有内容,如下图所示: 然后,filter函数应用其第二个参数([产品]="B")进一步的迭代筛选,因为“ ALL...第2步:拷——拷贝原始上下文 这里的原始上下文即透视表的两项:销售、产品,如在计算“大海/A”的销量时,“销售”筛选器的当前值为“大海”,而“产品”筛选器的当前值为“A”。...第3步:转——将行上下文转换为筛选上下文 这里没有行上下文,所以没有触发这个步骤的相关过程,跳过不用管。 第4步:调——调节器调整上下文的影响行文 这里没有调节器,所以这个步骤也跳过不用管。...大家可以试着将“ ALL('产品销售表'[产品])”改为“ ALL('产品销售表')”,然后分析一下这个计算过程和结果,去理解一下ALL(表)和ALL(列)的差别。...不好意思,这个文章我又重复了一遍“备,拷,转,调,叠,算”,希望不会让大家觉得烦,我一遍又一遍地重复这6个字,只为让大家看到一个有calculate函数的公式,尤其是当其结果和自己想得不一样时,可以条件反射式地把这
实例1:一维表转二维表 3.5.3 实例2:二维表转一维表 3.5.4 实例3:含有多重行/列表头的数据清洗 3.6 提取文本值中指定字符的操作 3.6.1 实例1:按指定的长度提取文本值中指定的字符...… 4.4.4 each _与(x)=>的关系 4.4.5 为公式添加注释 第5章 常用的M函数实战详解 5.1 各种数据类型之间的相互转换 5.1.1 将值转换为文本 5.1.2 将值转换为数值 5.1.3...实例5:实时获取数据库中的数据 6.2 数据转换综合实战 6.2.1 实例1:将复杂的二维调薪表转换为一维明细表 6.2.2 实例2:高效快速地清洗零乱的考勤数据 6.2.3 实例3:同时拆分组合的供应商中文名称和英文名称...函数 第9章 DAX进阶知识和常见应用 9.1 Power Pivot和数据透视表 9.1.1 实例1:在数据透视表中使用自定义排序:按列排序 9.1.2 实例2:在数据透视表中创建KPI规则——设置...函数进行文本值透视 9.3.2 实例2:使用ALLSELECTED函数动态地计算各类占比 9.3.3 实例3:使用RANKX函数动态地计算各类排名 9.3.4 实例4:自定义数据透视表标题行完成复杂的报表
二维表则方便数据可视化展示,除了节省空间外,呈现数据间的关系是数据分析追求的目标之一。 将一维表转化为二维表,叫做透视(Pivot)。...那么如果想把透视表转为方便存储和复用的数据源,就需要反过来将二维表转为一维表,即为“逆透视”(Unpivot)。 02 核心技能:逆透视 所有复杂报表,本质上都是不同维度的叠加。...解决方式的核心仍然是围绕透视(Pivot)和逆透视(Unpivot)。初始数据加载后我们会发现,第一行和第一列有很多空值。而直接逆透视会把空值开头的行或列给删除过滤掉。...因此纵向的解决步骤有两步: 最左边的列向下填充,解决空值问题; 合并最左边两列,成为一列单一的维度。 经过这两步之后,我们成功将2*2维表转为2*1维表。...那么横向上跟的维度怎么解决呢?Power Query只有向上向下填充,没有横向填充,怎么处理空值?我们不妨把表倒转过来——转置,那么横向的问题就转化为纵向问题,就可以重复上述步骤解决了。
”工作表的A列客户名单合并,去除重复项并按拼音排序场景:整合季度客户资源,避免重复跟进 缺失值智能填充提示词:用B列相邻单元格平均值填充C列空白单元格,忽略文本类型数据场景:补全市场调研问卷中的漏填数值...C:C,"未找到",0) 三、数据透视与可视化多维度利润分析提示词:创建数据透视表,行标签为“产品类目”和“区域”,值字段显示利润总和与环比增长率操作:插入透视表后右键值字段设置“值显示方式→差异百分比...,含完整公式与场景说明)分类编号提示词指令典型场景核心公式/工具数据清洗1将A列混合格式的日期统一转换为"YYYY-MM-DD",错误值标记为红色并添加"格式错误"批注整理多部门提交的混乱报表日期=IFERROR...(DATEVALUE(A2),"格式错误")数据清洗2识别B列中重复率>80%的字段,保留第一个出现值其余标黄删除清理CRM系统中重复客户信息数据→删除重复项+条件格式公式生成3生成提取C列单元格内第2...TOP3且附带占比大区销售业绩分析透视表字段设置+值筛选数据透视6创建动态数据透视图:选择不同月份时自动显示对应品类的库存变化曲线月度仓储可视化监控切片器+折线图组合可视化7将E列客户满意度数据转化为渐变柱形图
6.选择性粘贴 如果A列数据需要更新数据,比如,价格要全部打九折,80%的用户是插入辅助列,输入公式=A1*0.9,然后拖动填充,再复制到A1中,再变为 值,再将辅助列删除。...7.按行排序 排序的时候如果想要按行排序,你会不会这样做,复制,到另一个空白单元格,转置,再排序,排序完之后再剪切转置粘贴回来。其实,排序里可以按行排序。...曾经看到有人在日期右边插入一列,用Year计算出年份,然后再插入一 列,用Month计算出月份,然后再一个个筛选,再进行汇总,当时我就震惊了,哎,不会透视表伤不起呀。...如果选择数据,点击【插入】,【数据透视表】,只 需将日期拖放在行标签中,数量拖放在值标签中,然后在数据透视表日期列中右击,创建组。...10.处理错误值 使用VLOOKUP函数,如果查找值在查找范围中不存在,将出现#N/A错误,初学者看不懂,,最好是显示为“查找不到”或是显示为空,各位,看好 了,先复制,选择性粘贴,值,然后我用替换,将
透视,或者称为列的透视,是一维表转换到二维表的过程;逆透视,或者称为列的逆透视,是把二维表转换到一维表的过程。 1 逆透视列 逆透视列可以将列转换为行,并对数据进行拆分操作。...逆透视列操作主要针对的是有多列数据的表单,这类表单的特点是一般有一个主列,该列中数值多数情况下都是非重复值;而其他数据列类型基本相同,其数值都是对主列中数据某一属性的描述。...对于这种有一定汇总关系的表单,可以将主列外的其他多列数据合并成一个列,即将列转换成行,然后将主列中原始值扩展成多个重复数值与合并后的新列产生对应关系,以便进行后续分析计算。...因此,当数据源中出现新列时,也不会被进行逆透视操作。 2 透视列 透视列操作是将列下所有的N个非重复数据转换成N个新列,然后对原始数据进行汇总合并来计算新列中的每一行值。...也就是说,透视列有将行数据转换成列数据的能力。 针对上面逆透视其他列得到的表单,选中季度列做透视列的操作。
【注意】 对于这个数据集,只需要在每一行上重复 “Sales Category”,但用户应该知道,在数据【逆透视其他列】之前,也可以选择多个列。...将 “Sales Category” 放在【行】上,“Date” 放在【列】上,“Units” 放在【值】上。 接下来,可以在同一数据集中建立另一个数据透视表。...(译者注:逆透视的本质是将表示结构的多个属性转换为一个属性的多个值;透视的本质是将某个属性内容转换为结构。...此时,判断透视表有一个精准的判别条件,就是:若某表转置后,含义完全不变,则为透视表;而若转置后,无法正确解读其语义,则该表不是透视表。...虽然在这个示例中【操作】选项只使用了【求和】功能,但用户在【操作】选项中可以使用的选项包括【平均值】、【中值】、【最小值】、【最大值】、【对行进行计数】、【非重复行计数】和【所有行】功能。
'F': 'foo'}) # 使用布尔值 选择数据 head(),默认是头5行 tail() df.index/df.columns df.describe() 查看各种统计信息 df.T 转置...,默认是T suffixes 重复列名,直接指定后缀,用元组的形式(’_left’, ‘_right’) left_index、right_index 将左侧、右侧的行索引index作为连接键(用于index...reset_index() 在分组时,使用as_index=False 重塑reshaping stack:将数据的列旋转成行,AB由列属性变成行索引 unstack:将数据的行旋转成列,AB...由行索引变成列属性 透视表 data: a DataFrame object,要应用透视表的数据框 values: a column or a list of columns to aggregate...values是生成的透视表中的数据 index是透视表的层次化索引,多个属性使用列表的形式 columns是生成透视表的列属性
查看数据基本信息 df.info() 使用方式: 提供DataFrame的基本信息,包括每列的非空值数量和数据类型。 示例: 查看数据信息。 df.info() 5....选择特定行和列 df.loc[index, 'ColumnName'] 使用方式: 通过索引标签和列名选择DataFrame中的特定元素。 示例: 选择索引为1的行的“Name”列的值。...') 使用方式: 创建透视表,汇总数据。...使用astype进行数据类型转换 df['NewColumn'] = df['Column'].astype(float) 使用方式: 使用astype将列的数据类型转换为指定类型。...示例: 创建一个数据透视表。 df.pivot(index='ID', columns='Status', values='Salary') 43.
今天我们来学习一个简单的功能,就是一行转多行,本文将介绍如何通过Excel实现,下一篇将介绍Hive中的实现方法。 1、数据 先来看看我们的数据,主要有2列,分别是班级和姓名。 ?...本文主要想实现的功能即将上图左侧的数据格式转换为右侧的数据格式。即实现一行转多行的功能。 先看第一个需求,想必熟悉Excel的同学也清楚如何将字符串按照指定的分隔符进行拆分: ?...但使用分列只能实现如下的结果: ? 显然这是不能满足我们的要求的。...首先选中我们的数据区域,点击数据-》获取与转换-》从表格: ? 随后即可进入power query的页面,接下来需要做两步,第一是对姓名一列进行分列,第二步是进行逆透视。...想必大家对于数据透视表都比较熟悉了,那么逆透视就是透视的逆过程,如下图,从右边到左边可以称作透视过程,而从左边到右边则是逆透视的过程: ?
它可以将数据表转换为反应数据结论的表格,从而帮助你做出决策。请看下面的截图: ? 从上图可以看出,左边的表格中有销售产品的细节内容,即以区域分布和产品的对应关系匹配到每一个客户。...从上图可以看到,我们将“Region”放入行,“Productid”放入列中,“Premium”放入值中。现在,数据透视表中展示了“Premium”按照不同区域、不同产品费用的汇总情况。...数据清洗 1.删除重复值:EXCEL有内置的功能,可以删除表中的重复值。它可以删除所选列中所含的重复值,也就是说,如果选择了两列,就会查找两列数据的相同组合,并删除。 ?...如上图所示,可以看到A001 和 A002有重复的值,但是如果同时选定“ID”和“Name”列,将只会删除重复值(A002,2)。...按照下列步骤操作可以删除重复值:选择所需数据-转到数据面板-删除重复值 ? 2.文本分列:假设你的数据存储在一列中,如下图所示: ? 如上如所示,我们可以看到A列中单元格内容被“;”所区分。
缺失值出现的行全部删掉 df.dropna(how='any') 13-缺失值补全|整体填充 将全部缺失值替换为* df.fillna('*') 14-缺失值补全|向上填充 将评分列的缺失值,替换为上一个电影的评分...片名 列全部重复值 df[df['片名'].duplicated()] 20-删除重复值 删除全部的重复值 df.drop_duplicates() 21-删除重复值|指定 删除全部的重复值,但保留最后一次出现的值...[5,['国家奥委会']] = '俄奥委会' 5-数据修改|替换值(单值) 将金牌数字的数字0替换为无 df['金牌数'].replace(0,'无') 6-数据修改|替换值(多值) 将无替换为缺失值...=['省/自治区'],columns='类别',aggfunc='sum') 8 - 数据透视|综合 制作「各省市」、「不同类别」产品「销售量与销售额」的「均值与总和」的数据透视表,并在最后追加一行『合计...|筛选 在上一题的基础上,查询 「类别」 等于 「办公用品」 的详情 10 -数据透视|逆透视 逆透视就是将宽的表转换为长的表,例如将第 5 题的透视表进行逆透视,其中不需要转换的列为『数量』列 pd.pivot_table
小勤:ALL函数是清除所有筛选条件并返回表中的不重复值,下面对表的行进行计数应该是3呀,因为有两个大海是重复的,怎么还是4? 大海:没有说all返回的是不重复值啊。...小勤:那么我ALL(表[姓名]),它出来的是2: 大海:all对表是返回表中的所有行,对列是返回列中的所有值(values),power pivot里的values是去重复的概念。...大海:你可以理解为数据进入pp后,会自动在表里加上一个看不见的索引列(当然,索引不是简单的1/2/3/4……)。 小勤:明白。 大海:所以,all这个表的情况下,他不会删重复。...实际上,数据进入Power Pivot后,转化为列式存储,也是背后有一个类似索引列去关联不同列之间同一行数据的内容。...同时,由于是列式存储,相应的,很多涉及表的行列转换的功能也受到了相应的限制,比如透视、逆透视、转置等相关功能,但列式存储却使得数据计算的效率极大提升…… 小勤:那如果我要一列里的没有删重复的所有数据怎么办