精华内容
下载资源
问答
  • VBA删除数据保留公式

    2012-10-22 17:24:43
    VBA删除数据保留公式
  • 数据批量delete时,InnoDB如何处理自增ID,是一个潜在的大坑。整个实验步骤如上图:第一步:建表,设定自增列;第二步:指定id=1插入,锚定第一行是id是1;第三步:不指定id,依赖自增机制,插入3行;画外音:此时...
    行数据批量delete时,InnoDB如何处理自增ID,是一个潜在的大坑。

    f009886893ed426f16e0b30f42d9a520.png

    整个实验步骤如上图:第一步建表,设定自增列;第二步指定id=1插入,锚定第一行是id是1;第三步不指定id,依赖自增机制,插入3行;画外音:此时id应该变为2,3,4了?第四步delete删除所有记录;画外音:坑就容易出在这里。第五步指定id=0插入;第六步指定id=1插入;第七步不指定id,依赖自增机制,插入1行; 请问,此时表中的三行记录,id分别是多少?

    是否符合大家的预期?

    今天花1分钟,说说使用truncatedelete批量删除数据的异同。

     批量删除数据有三种常见的方法drop table当不需要该表时,可以使用该方法。 truncate table删除所有数据,同时保留表,速度很快。画外音:可以理解为,drop table然后再create table。 delete from table可以删除所有数据,也能保留表,但性能较差。也可以带where条件删除部分数据,灵活性强。 虽然truncate和delete都能够删除所有数据,且保留表,但他们之间是有明显差异的。 一、truncate是DDL语句,它不存在所谓的“事务回滚”;delete是DML语句,它执行完是可以rollback的。 二、truncate table返回值是0;delete from table返回值是被删除的行数。 三、InnoDB支持一个表一个文件,此时:truncate会一次性把表干掉,且不会激活触发器,速度非常快;delete from table则会一行一行删除,会激活触发器,速度比较慢。画外音:delete数据,是要记录日志的,truncate表不需要记录日志。 四、当表中有列被其它表作为外键(foreign key)时:truncate会是失败;delete则会成功。画外音:这类数据删除失败很容易定位问题,因为报错提示简单易懂。 五、当表中有自增列是:truncate会使得自增列计数复原;delete所有数据后,自增列计数并不会从头开始。画外音:因此,delete所有数据后,自增列计数的这个行为,往往不是用户想要的,所以是一个潜在坑。 这一分钟,有收获吗?请根据自己的业务场景,选择删除数据的方式哟。7752a9364b4791878b35f74f14507cce.png架构师之路-分享技术思路

    相关文章

    《缓冲池(buffer pool)》

    《写缓冲(change buffer)》

    《日志缓冲(log buffer)》

     作业题开头的实验,最后表中的三行记录,id分别是多少?画外音:你以为文章告诉了你原理,你就能答对么。
    展开全文
  • 删除重复项 把一组数据里面的重复单元格删掉, 但是这种操作要依靠手动, 不能自动更新, 所以如果你的数据来源发生更新的时候要自己重新做一遍, 容易出错要想能够自动完成数据>删除重复项 的功能, 用下面这个公式就...

    ec1ce6319838695107bec3f25f889eac.png

    太长不看版:

    1. Excel可以用数据>删除重复项 把一组数据里面的重复单元格删掉, 但是这种操作要依靠手动, 不能自动更新, 所以如果你的数据来源发生更新的时候要自己重新做一遍, 容易出错
    2. 要想能够自动完成数据>删除重复项 的功能, 用下面这个公式就可以了. 假设需要删除重复项的这组单元格是A2:A11, 删除重复项以后的唯一值列表放在C列, 在C2放置这个公式, CTRL+SHIFT+ENTER完成输入, 之后把单元格向下填充
    =IFERROR(INDEX($A$2:$A$11,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$11),0)),"")

    搞定.


    我们都知道可以用数据>删除重复项获得一个唯一元素列表。很多时候这个操作已经够我们用了,但是其实呢,就像筛选可以用公式实现一样,删除重复项这个操作也一样可以用公式搞定。

    方法就是把index, match还有countif连起来用,当然iferror也要用上。

    内容来源:How to Get Unique Items from a List in Excel Using Formulas

    比如A2:A11是这么一组数据:1,1,1,2,2,3,4,5,5,6

    然后做一个删除重复项就成了C2:C7的这一些东西:1,2,3,4,5,6

    公式长成这样:=IFERROR(INDEX($A$2:$A$11,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$11),0)),"")

    上面的公式可以拆成下面几块:

    • countif($C$1:C1,$A$2:$A$11),这个记作countif(...)
    • match(0, countif(...),0),这个记作 match(...)
    • index($A$2:$A$11, match(...)), 这个记作 index(...)
    • match找不到的时候会报错,所以最外面再套一个iferror(index(...),"")

    上面这个公式是一个数组公式,完成输入以后要按ctrl+shift+enter,而不是enter。

    1. countif

    这个地方最绕的应该还是countif. 我尽量说明一下.

    首先如果是=countif($A$2:$A$11,$A$2:$A$11) 如果在excel里面用数组形式输入这个公式, 返回的结果是 3. 这个3指的是$A$2:$A$11 1这个值出现了3次. 如果我们把A2:A11的数据重新排列一下顺序: 2, 1, 3, 4, 1, 2, 5, 1, 5, 6, 这个公式就会返回2, 因为2这个值出现了2次. 如果我们在公式外面再套一个其他的公式, 然后用公式> 公式求值去看一下计算过程的话就会看到:

    df8d3c0b8f96ba709b5332e8e0270459.png
    对=sum(countif($A$2:$A$11,$A$2:$A$11))作公式求值的第一次求值结果

    可以看到对=countif($A$2:$A$11,$A$2:$A$11)求值的结果是:{2;3;1;1;3;2;2;3;2;1} , 也就是这个数组里面, 2出现了2次,1出现了3次,3出现了1次,4出现了1次,1出现了3次,2出现了2次,5出现了2次,1出现了3次,5出现了2次,6出现了1次.

    这就是当我们把criteria设置成一个范围内的单元格的时候会产生的结果.

    2. match和index

    接下来看看第二层, match. 还是借助公式求值这个工具, 这次我们在C2这个单元格输入

    =MATCH(0,COUNTIF($C$1:C1,$A$2:$A$11),0)

    记得按CTRL+SHIFT+ENTER! 返回结果是1

    然后在C2这里做一个公式求值, 求值结果是: =MATCH(0,{0;0;0;0;0;0;0;0;0;0},0)

    从这个公式来说, MATCH返回1是没问题的, 毕竟这个数组第一个就是0. 但是现在还是看不出来和我们向问题有什么关联. 但是接下来把index再套上去就不一样了, 这个时候返回的结果是2. 如果我们把A2:A11里面所有的2都替换成Feb呢? C2这个时候也会变成Feb. 这是肯定的, 毕竟=index($A$2:$A$11,1) 肯定就是返回这写个单元格里的第一个嘛.

    现在还不太看得出来为什么这么干就能获得唯一值列表, 所以让我们把C2往下填充, 哎, 居然真的就成了唯一值了!

    d97802655b5af3453d4d62a60aef7e34.png

    让我们对C7这个单元格做一下公式求值吧:countif(...) 求值以后变成了{1;1;1;1;1;1;1;1;1;0} . 这个时候只有最后一个元素是0, 自然match的时候就会返回最后一个元素的位置, 接下来用index再把位置转换成元素, 也就是6.

    下面那一堆#N/A 通过iferror就可以干掉了.


    所以最关键的地方还是在countif,拿一系列的单元格来做countif的criteria可以说是一个奇技淫巧了, 在没有写这篇专栏文章以前我真完全没有想到还可以这么干, 下面我画一个图解尝试解释一下吧.

    030bcebbd42df4a3b9937e6473de2e24.png

    比如在上面这个数据表里面, B列有三个数据:Ben, Jane, Tom,那么现在下面这个公式返回的是几呢?

    =countif(B:B,A1)

    用A1的值(Ben)作为标准去数B列, B列就只有一个Ben, 那当然就是返回1了啦.

    同样的, =countif(B:B, A2)呢?B列有一个Jane, 所以也是1.

    92bb422cccee4cd4d5735cb48a11b4a2.png

    在上面的两个例子里, 被搜索的范围是没有改变的, 都是B列的Ben, Jane, Tom着三个单元格, 但是搜索的标准变了. 那么如果我们把这两次搜索合并成一次搜索是否可行呢? 当然是可以的:

    =countif(B:B,A1:A2)

    按ctrl+shift+enter转换为数组公式, 这个时候返回的值实际上就是{1;1} 了, 这个结果的意思就是第一次搜索(用A1作标准), 找到了1个, 第二次搜索(用A2作标准), 也找到了1个. 这个就是拿一组数据做countif的criteria时候发生的事情.

    那么回到我们的公式

    =INDEX($A$2:$A$11,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$11),0))

    这里面很关键的一点, 就是我们被搜索范围的设定: 从当前列第一个单元格开始($C$1)到当前单元格上一个格子(对C2单元格, 我们设置成了C1, 这个相对关系在向下填充的时候被保留了).

    对于C2单元格来说,它上面什么都没有,所以countif(...) 返回的肯定是一堆{0;0....;0},所以呢这个时候=match(0,countif(...),0)跟着返回的就是1, 那再交给index就会把用作criteria的这堆单元格的第一个拿来填到C2里面去.

    接下来到C3单元格, 对它来说, 上面已经有了A2:A11这组单元格里面的第一个, 这样一来再去作countif(...) 的时候自然就不会全是0了, A2:A11里面所有值和A2相同的单元格, 对应的countif结果都会变成1. 对于前面提到的Feb, 1, 3, ...这组数据, 到C3的时候countif(...)返回的结果就会是{1;0;0;...} ,那match(...) 返回的结果也就成了2, 再用index就可以获得排在第二的单元格的值1

    至于C4单元格,前面两个单元格都已经分别是Feb和1了,那countif的结果肯定会有更多的1,至于下一个0就只会出现在既不是Feb也不是1的单元格, 把这个位置用match拿出来, 再用index转成对应的值, 也就是3. 下面的都是以此类推.

    这个想法还真是听精妙的, 而且让我觉得对Excel的功能有了新的认识

    展开全文
  • 基于这个情况,小编今天将为大家分享几个删除重复值的方法,一起来看看吧:方法1:通过“删除重复值”命令直接删除重复项选择数据区域内的任意一个单元格—【数据】选项卡—【数据工具】组—【删除重复项】命令—在...

    小编最近有个朋友深受Excel数据折磨,到底是怎么回事呢?相信很多小伙伴在处理数据的时候,都会发现数据里面或多或少的都存在着一些重复的数据,这不仅会降低我们的工作效率,还会影响我们后续对数据的分析。基于这个情况,小编今天将为大家分享几个删除重复值的方法,一起来看看吧:

    b02e522eb2cdda815fd4ad6469fc6e73.png

    方法1:通过“删除重复值”命令直接删除重复项

    选择数据区域内的任意一个单元格—【数据】选项卡—【数据工具】组—【删除重复项】命令—在打开的“删除重复项”的对话框中,设置需要比较的列—确定。Excel将根据指定的列区域判断表格中是否有重复项,并自动将找到的重复项删除,只保留唯一值

    c7f01dada6c5b8142e2f5610717ff08a.png

    方法2:通过“条件格式”标记重复项后删除

    条件格式是单元格格式的一种,当单元格满足某种条件时,才为单元格设置一种指定的格式,当条件不满足时,单元格保持原格式不变

    选择“姓名”列—【开始】选项卡—【样式】组—【条件格式】—【突出显示单元格规则】—【重复值】—设置一种突出显示格式,确定—手动删除重复的数据

    c3ac307b41c224bbdeee661aeb44a01e.png

    方法3:通过高级筛选删除重复项

    高级筛选可以根据一个区域内的多个条件,对目标区域中的数据进行筛选,并且还可以设置筛选结果的显示位置,具体操作方法如下:

    选择数据区域内的任意一个单元格—【数据】选项卡—【排序和筛选】—【高级】—选择筛选后数据存放区域,确定数据区域是否完整,不需要选择条件区域,勾选“选择不重复的记录”—确定

    60a98662c49cfe41fbc5bd0c331073f6.png

    如果小伙伴们要删除重复的数据,可以将筛选结果复制到其余位置后,删除源数据就可以了

    方法4:通过数据透视表删除重复项

    选择数据区域内任意单元格—【插入】选项卡—【表格】组—【数据透视表】—确认数据区域完整—选择数据透视表存放位置(新工作表或现有工作表)—确定

    在字段列表中,把“姓名”拖入“行标签”区域内,把“性别”、“籍贯”、“民族”、“部门”、“联系电话”、“入职时间”等拖入“值”区域内。并将“联系电话”字段的值汇总方式设置为“计数”,结果出来后,计数项不为 1的行代表存在重复项

    6361416de0f26d7d23ac34ce03e2c3e8.png
    413a99ad42d724209eab6e07903a8299.png

    今天的分享就到这了,希望对你有所帮助

    展开全文
  • 现在数据库中有一个字段是公式计算字段,公式为:(round(([L9] + [L10]),2)) 如果现在像把公式删除,但里面的数据保留,不知道有什么好的方法呢。
  • 大家可能遇到过这种情况:一个几经易手的远古 Excel 表,文件巨大无比,运行极慢,删除数据公式也无济于事。反复查找原因,才发现表格中有好几十个隐藏的 worksheet,这些 worksheet 大多都是一些草稿表,需要批量...

    大家可能遇到过这种情况:一个几经易手的远古 Excel 表,文件巨大无比,运行极慢,删除数据和公式也无济于事。

    反复查找原因,才发现表格中有好几十个隐藏的 worksheet,这些 worksheet 大多都是一些草稿表,需要批量删除。

    今天教大家一个快速删除所有隐藏 sheet 的方法。

    案例:

    下表中,我创建了 12 个 worksheet,并且隐藏了其中 11 个,现在需要批量删除其中所有隐藏的 worksheet。

    aebf32ca578b8dc7a336d55e5aaf6817.png

    解决方案:

    1. 点击菜单栏的“File”-->“Options”

    9991ec2771402d60429e3ebff29de024.png

    2. 在弹出的界面上点击“Trust Center”-->“Trust Center Settings”--> OK

    d12842f04cabde3598ba43479030f0ad.png

    3. 点击“Privacy Options”-->“Document Inspector”

    9103bb464bd7c0050c7261272262d7ef.png

    4. 在弹出的界面中拉到最底下,可以看到“Hidden Worksheets”选项已经默认勾选,点击“Inspect”按钮

    021e803cdb13bdf7aa946e19911e50e1.png

    5. 在弹出的检查结果界面拉到最底部,可以看到“Hidden Worksheets”前面有个红色感叹号,下面显示有 11 个隐藏的 worksheet --> 点击右侧的“Remove All”按钮就可以将其批量删除

    0be9d1ddcb34203297dfb1e4ab56e5ea.png

    * 请注意:删除后的 worksheet 不可恢复,所以使用此方法前请务必仔细检查。

    展开全文
  • 删除Excel中某个单元格里的含有超链接的超链接,只要在该单元格上点击右键,在弹出菜单中选择“取消超链接”即可。如果超链接少还可以一个一个手动清除,但如果多了则需要考虑批量删除的方法了。Excel 2003、Excel ...
  • 在创建Excel报表时,我们经常会用到很多公式来计算数据,创建后出于保密性或其他一些原因,有些时候我们可能想删除这些公式,只保留数据。这篇文章将介绍如何使用Free Spire.XLS组件和C#批量删除Excel文档中的所有...
  • 今天我们来讲解一个比较简单的案例,使用openpyxl从Excel中提取指定的数据并生成新的文件,之后进一步批量自动化实现这个功能,通过本例可以学到的知识点:openpyxl模块的运用glob模块建立批处理数据源:阿里云天池的...
  • (如果不想保留公式,将该列数据选中复制并粘贴为值就可以了) 操作演示: ▲复制快捷键Ctrl+C,粘贴快捷键Ctrl+V,建议在电脑上放大后观看更清晰 今天的分享就到这里,希望这个小技巧对你有帮助,小编后续还会推出...
  • ——孟子学习Excel,相信大家对公式肯定不陌生了,在日常工作中,我们经常要大批量地填入公式,如何能更高效的快速的完成公式的填充就显的及其重要,今天就给大家分享几个快速填充公式的技巧。技巧一、下拉填充最...
  • Excel如何删除公式保留数值

    千次阅读 2015-03-23 11:53:01
    Excel表中有的数据是用公式或函数连接和计算完成的,有时需要清除公式保留结果值,或者将公式转化为数值。 1)快捷键F9 在单元格或编辑栏输完公式后按下F9→Enter就可以把公式计算的结果转换为普通的数字,也...
  • 至于如何批量删除Excel表格中的所有超链接,可以采取以下两种方法: 方法一:快捷键法 依次按如下3个快捷键即可全部删掉Excel中的超级连接: 先按ctrl+A (即同时按住ctrl键和A键)选中表格,然后按 ctrl+C,最后按...
  • 在Excel中,我们录入的数据可以根据录入的数据是否产生变化分为常量和公式,先了解一下Excel中的常量有哪些数据数据类型吧。常量常量是一个计算机语言的术语,它的广义概念就是不变化的量,在我们录入源数据后,不是...
  • 今天突然想起很久以前在知识星球发布了的一道练手题,内容如下:小明有一张成绩表,数据有些乱,现在,他需要将B2:D8单元格区域的非数值单元格全部清空,很急,在线等,你能帮助他吗?这题的解决方法蛮多的,给大家...
  • 使用选择性粘贴-数值即可Excel版本参考:2010测试:C列的内容是由A列和B列计算而来1、复制C列内容,右击-选择性粘贴-数值2、选中A:B列,右击-删除3、查看效果...
  • 在Excel表格中,公式很常用,...下面的方法将介绍如何通过C#编程来批量删除Excel公式保留值。所需工具:Spire.XLS for .NET packPS:下载并安装。完成安装后,将安装路径下Bin文件夹下的Spire.Xls.dll添加引用到V...
  • 1.2 右键选中1.1的方框,数据再到分列 以上完成了一句话通过顿号拆分为列 2. 行转列 以上方的行为例,选中多列复制,在列的地方右键选择性的粘贴,选转职 完成转置 3.翻译 只用修改需要翻译的列,用的是有道...
  • 本人刚学C#不久,现在用Spire.XLS做一个小程序,想将Excel一个工作薄中所有表(大概10个)公式删除,但要保留数据,我知道用VBA很容易实现,但现在想用Spire.XLS实现,查了好多关于Spire.XLS的资料,似乎没有关于这...
  • Q:我也想像那些大神一样用Excel函数来删除重复数据,你可以给我写一个公式吗?A:怎样的数据源,先截图看看。Q:收到多个销售员发过来的客户跟进名单,由于要汇总,所以发现不同销售员的名单中有重复的客户姓名,...
  • 在Excel表格中,公式很常用,...下面的方法将介绍如何通过C#编程来批量删除Excel公式保留值。所需工具:Spire.XLS for .NET packPS:下载并安装。完成安装后,将安装路径下Bin文件夹下的Spire.Xls.dll添加引用到V...
  • 废话少讲,直奔主题函数方法我们采用传统的函数法,先找出重复的内容,然后删除,具体来看一下操作步骤及要点:添加辅助列,公式:=COUNTIF($A$2:A2,A2)要点:注意这里,我们不能引用整列,$A$2:A2,下拉区域会扩展...
  • Q:我也想像那些大神一样用Excel函数来删除重复数据,你可以给我写一个公式吗?A:怎样的数据源,先截图看看。Q:收到多个销售员发过来的客户跟进名单,由于要汇总,所以发现不同销售员的名单中有重复的客户姓名,...
  • 删除字段重复内容且保留唯一一条数据遇到了一个挺有意思的sql问题,在实际应用中应该也会碰到这样的问题初级方法一:生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何...
  • ,就显示“删除” 1 设置动态范围,并统计出现次数 为什么三个“1”出现次数不同? 【答】—— 这是得益于 countif 的第一个参数—— $B$3:B3。我们往下拉的话会变成这样: $B$3:B3 $B$3:B4 $B$3:B5 选定区域的...
  • Excel表去重公式

    2013-04-26 10:23:47
    二种去重公式:假设号码在A列第1种下面的公式把重复值保留一个,其余的删除B1输入公式=if(countif(A$1:A1,A1)=1,A1,"")B1公式向下复制以是当你要去重的数据全部都在A列的时候,在B列输入公式,向下拉,就只显示不...
  • Excel 公式笔记

    2021-04-29 13:48:37
    将同一列中,相同数据删除,只保留第一次出现的数据,需要辅助列 = IF(COUNTIF(A$10:A10,A10) > 1, "", A10) 2.将下方空行填满,以第一次出现的数据为准,需要辅助列 = IF(A2 <> "",A2,B1)
  • EXCEL函数公式

    热门讨论 2010-03-16 03:26:38
    查找数据公式两个(基本查找函数为VLOOKUP,MATCH) 【输入数据的技巧】 谈谈Excel输入的技巧 一列中不输入重复数字 如果要查找重复输入的数字 单元格输入 大量0值输入超级技巧 如何在C列中输入工号在D列显示姓名 输入...
  • 查找数据公式两个(基本查找函数为VLOOKUP,MATCH) 【输入数据的技巧】 谈谈Excel输入的技巧 一列中不输入重复数字 如果要查找重复输入的数字 单元格输入 大量0值输入超级技巧 如何在C列中输入工号在D列显示姓名 输入...
  • Excell求A列重复数据

    2014-07-14 16:13:16
    2012-07-26 09:55 MEIFEGHDPIG 高级培训讲师 来自知道网友专家 假设数据在A列 可以在B1单元格输入公式 ...如果要删除所有重复的数据,只保留单一的数据 可以用公式 =COUNTIF(A:A,A1) 下拉填充 1o

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 122
精华内容 48
关键字:

删除数据保留公式