精华内容
下载资源
问答
  • 去除重复内容,就用这个EXCEL公式,1分钟搞定! 一份高中录取名册中,上千条学生信息,生源校有七八十所,如何从表中轻松提取出不...其实,我们可以运用一个数组公式,就可以轻松提取出不重复内容。 在上图,F...

    去除重复内容,就用这个EXCEL公式,1分钟搞定!

    一份高中录取名册中,上千条学生信息,生源校有七八十所,如何从表中轻松提取出不重复的生源校名单呢?

    有人或许会这样做:复制录取名册中所有生源校到一个空白EXCEL表中,再按学校名排序,最后分段再删除重复的部分。这样做,不仅费时、费力,最重要的,还有可能误删了数据。

    其实,我们可以运用一个数组公式,就可以轻松提取出不重复内容。

    在上图,F2单元格中,写下数组公式:=INDEX(D:D,1+MATCH(,COUNTIF(F$1:F1,D$2:D$21),))&"",编辑完成后,按Ctrl+Shift+回车(一定要按这三个键噢!),然后往下复制,直至没有新学校名称出现为止。

    现在,为大家讲解一下这个数组公式:

    1)COUNTIF(F$1:F1,D$2:D$21):用COUNTIF函数,从F1单元格开始的扩展区域,查找D$2:D$21区域(生源校)每个数据的个数,返回一个由0和1构成的数组,如果D$2:D$21区域的数值在公式扩展区域中出现过,结果就是1;如果没出现,结果就是0。这个公式中,COUNTIF函数的第一参数,采用了行绝对引用(F$1)和相对引用(F1),向下复制,依次会产生:F$1:F2、F$1:F3、F$1:F4、。。。公式提取结果就会被重复利用。

    2)利用MATCH函数,在COUNTIF函数返回的数组中查找第一个0的位置,也就是查找首次出现的数据所在的位置。由于生源校的标题行占了1行,所以,将这个值+1,就得到需要提取的不重复值在查找区域中行的位置。

    3)最后,利用INDEX函数,以MATCH函数的计算结果作为索引值,提取D列对应位置上的不重复值。用&" ",避免显示错误值。

    这个公式,可能有一点点理解难度,不过,不影响你使用,到时,你只要会复制公式,改一下参数就行了。今后,对于类似提取不重复内容的工作,就会既轻松,又准确、高效。

    每天学习一点点,每天进步一点点,积硅步,必能致千里,得大成。

    展开全文
  • 数组

    2020-05-04 09:39:58
    II) 连续的内存空间、相同的数据,所以数组可以随机访问,但对数组进行删除插入,为了保证数组的连续性,就要做大量的数据搬移工作 a) 数组如何实现下标随机访问。 引入数组再内存种的分配图,得出寻址公式 b) 纠正...

    1. 数组如何实现随机访问
    1) 数组是一种线性数据结构,用连续的存储空间存储相同类型数据
    I) 线性表:数组、链表、队列、栈 非线性表:树 图
    II) 连续的内存空间、相同的数据,所以数组可以随机访问,但对数组进行删除插入,为了保证数组的连续性,就要做大量的数据搬移工作
    a) 数组如何实现下标随机访问。
    引入数组再内存种的分配图,得出寻址公式
    b) 纠正数组和链表的错误认识。数组的查找操作时间复杂度并不是O(1)。即便是排好的数组,用二分查找,时间复杂度也是O(logn)。
    正确表述:数组支持随机访问,根据下标随机访问的时间复杂度为O(1)
    2. 低效的插入和删除
    1) 插入:从最好O(1) 最坏O(n) 平均O(n)
    2) 插入:数组若无序,插入新的元素时,可以将第K个位置元素移动到数组末尾,把心的元素,插入到第k个位置,此处复杂度为O(1)。作者举例说明
    3) 删除:从最好O(1) 最坏O(n) 平均O(n)
    4) 多次删除集中在一起,提高删除效率
    记录下已经被删除的数据,每次的删除操作并不是搬移数据,只是记录数据已经被删除,当数组没有更多的存储空间时,再触发一次真正的删除操作。即JVM标记清除垃圾回收算法。
    3. 警惕数组的访问越界问题
    用C语言循环越界访问的例子说明访问越界的bug。此例在《C陷阱与缺陷》出现过,很惭愧,看过但是现在也只有一丢丢印象。翻了下书,替作者加上一句话:如果用来编译这段程序的编译器按照内存地址递减的方式给变量分配内存,那么内存中的i将会被置为0,则为死循环永远出不去。
    4. 容器能否完全替代数组
    相比于数字,java中的ArrayList封装了数组的很多操作,并支持动态扩容。一旦超过村塾容量,扩容时比较耗内存,因为涉及到内存申请和数据搬移。
    数组适合的场景:
    1) Java ArrayList 的使用涉及装箱拆箱,有一定的性能损耗,如果特别管柱性能,可以考虑数组
    2) 若数据大小事先已知,并且涉及的数据操作非常简单,可以使用数组
    3) 表示多维数组时,数组往往更加直观。
    4) 业务开发容器即可,底层开发,如网络框架,性能优化。选择数组。
    5. 解答开篇问题
    1) 从偏移角度理解a[0] 0为偏移量,如果从1计数,会多出K-1。增加cpu负担。为什么循环要写成for(int i = 0;i<3;i++) 而不是for(int i = 0 ;i<=2;i++)。第一个直接就可以算出3-0 = 3 有三个数据,而后者 2-0+1个数据,多出1个加法运算,很恼火。
    2) 也有一定的历史原因

    展开全文
  • js数组添加元素和数组方法js数组添加、修改、删除元素和数组方法集合数组添加、修改、删除元素数组合并功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一...

    js数组添加、修改、删除元素和数组方法集合

    这是作者第一次整理js数组的API内容会不全,会持续更新

    数组添加、修改、删除元素

    //添加
    let myArray=[1,2,3];
        myArray.push(4,5);//5,数组尾部添加元素,返回数组的新长度,注意不是返回数组,
        console.log(myArray)//[1,2,3,4,5],并且修改数组.
        myArray.unshift(6,7);//7,数组头部添加元素,返回数组的新长度,注意不是返回数组。
        console.log(myArray)//[6,7,1,2,3,4,5],并且修改数组。
        myArray.splice(2,0,'心恋');//[],第一个参数为从哪里(下标)开始,第二个参数为(从第一个参数的下标)删除几个元素,第三个参数为添加的元素可以是多个,返回值为删除的元素组成的新数组,没有返回新数组
        console.log(myArray)//[6,7,'心恋',1,2,3,4,5],并且修改数组
    //删除
    let a = [1,2,4];
    a.pop();//4,删除数组的最后一个元素,并返回删除的元素。
    console.log(a)//[1,2],并修改数组。
    let a = [1, 2, 3];
    let b = a.shift();//1,删除数组的第一个元素,并返回删除的元素
    console.log(a);//[2,3],并修改数组
    
    //修改
    let a = [1, 2, 3];
    a[1]=5;//[1,5,3];也可使用splice
    
    //slice()方法返回一个从开始(下标)到结束(下标)(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,原始数组不会被修改。
    let a = [1, 2, 3];
    let b=slice(1,2)//[2]
    

    数组合并

    	let arr1 = ['1', '2', '3'];
    	let arr2 = ['d', 'e', 'f'];
    	let arr3 = arr1.concat(arr2);//['1', '2', '3','d', 'e', 'f'],用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
    
    展开全文
  • 如何快速生成序号,并且在数据表中间删除或插入行后还能自动重新按顺序编号?说到这里大家肯定应该明白,用手工拖动产生的顺序编号是满足不了需求的,需要用公式生成活的编号。即使用了公式,如果有上万行数据,要...

    工作中经常需要给数据表添加序号。如何快速生成序号,并且在数据表中间删除或插入行后还能自动重新按顺序编号?

    说到这里大家肯定应该明白,用手工拖动产生的顺序编号是满足不了需求的,需要用公式生成活的编号。

    即使用了公式,如果有上万行数据,要拖动复制公式也是不小的工作量。如何快速生成编号呢?

    更有甚者,万一工作中需要从大到小逆序编号,大家都会吗?

    案例:

    如下图所示,快速从 1 至 20 按顺序、逆序的顺序编号。

    d27dc0a7cbfa0ef6b9c7f858a5517a4f.png

    解决方案 1:

    row 函数的这种排序用法,是平时大家比较常用的。如果还不会的同学,现在赶紧来学一下。

    1. 选中 A1 单元格,在左上角的名称框中就会看到“A1”

    c76a93c1223436c97161253a40fecf94.png

    2. 在“A1”后面输入“:A20”--> 回车

    51eaff378870ca16091f4197bbb7c9d2.png

    此时就选中了 A1:A20 区域的所有单元格。

    d406678c1e722a441f790a46e4abe5b6.png

    3. 输入以下公式 --> 按 Ctrl+Enter 回车:

    =ROW(a1)

    e217c0eee5c1aac0052b2f9479061093.png

    现在就批量完成了 1 至 20 的顺序编号。

    ed8d70f735334055d719cdd5eb4c0aaf.png

    接下来,从 20 至 1 逆序编号,会的人举手。

    4. 将 A 列复制粘贴至 B 列 --> 选中 B1:B20 区域

    5af697c45ae315457bdb451feefeb13f.png

    5. 在公式栏中,在原有的公式前面加上“21-”,完整公式如下 --> 按 Ctrl+Enter 回车:

    =21-ROW(B1)

    d5215f33940185672eac72aa6306a7ad.png

    顺序编号立刻就变成了逆序的。

    03298edf0aee306a36fbc59276ccf8bc.png

    解决方案 2:

    同样是用 row 函数,这个方法就更神奇了,不过前提是 Excel 要更新到高版本,比如 O365。

    1. 在 C1 单元格中输入以下公式,回车即可:

    =ROW(1:20)

    c3aef658dfd9d25ecf6a2e4c3d785bb6.png

    C 列就自动填充了 1 至 20 的序号,从下图的效果可以看出,选中 C1:C20 的任意单元格,整个区域都会有凸起效果,此时整个区域相当于使用了数组公式。

    Excel 最新版本简化了数组的应用,不需要按三键结束也能产生数组效果。是不是很神奇?

    125ab6eb3c04bbc95ba5b39949563baf.png

    2. 如果要按从大到小的逆序排序,只要在 D1 单元格中输入以下公式,回车即可:

    =21-ROW(1:20)

    51748be30655318c7066b6cfea3fa300.png

    同样不需要按三键,D 列即相当于数组公式。

    76946b7f12c2f3ba60291aea75a3a549.png

    一个公式,两种用法,大家更爱哪种?

    b2035326f74670ec6c9dd247e05edbfe.png

    很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

    现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

    展开全文
  • 数组基础

    2020-07-29 21:13:21
    II) 连续的内存空间、相同的数据,所以数组可以随机访问,但对数组进行删除插入,为了保证数组的连续性,就要做大量的数据搬移工作 a) 数组如何实现下标随机访问。 引入数组再内存种的分配图,得出寻址公式 b) 纠正...
  • (笔记整合)数组

    2019-03-02 11:54:44
    II) 连续的内存空间、相同的数据,所以数组可以随机访问,但对数组进行删除插入,为了保证数组的连续性,就要做大量的数据搬移工作 a) 数组如何实现下标随机访问。 引入数组再内存种的分配图,得出寻址公式 b) 纠正...
  • (三)数组

    2018-11-14 15:29:05
    数组在内存中的分配图,得出寻址公式。 例:a[k]_address = base_address + k * type_size,a[k][j]_address = base_address + (k*n+j) * type_size 下标k为偏移量,所以从0开始。 2.如何改善低效的插入和删除?...
  • 如何实现随机访问 数组有两个特点 数组是一种线性表,元素是连续的,只有前后关系; 数组在内存中是连续的内存空间,存储同一种类型的数据。因此优缺点如下: 优点:随机访问,此时时间复杂度为O(1); 缺点:插入...
  • JavaScript操作数组方法

    2020-11-23 15:19:44
    JavaScript 操作数组和对象方法spliceconcatjoinpoppushshiftslicesort创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你...
  • 基础实用函数表达数组是个实用的工具遍历及其基本操作执行包含外部变量的运算删除排序查找与统计学结合插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学...
  • II) 连续的内存空间、相同的数据,所以数组可以随机访问,但对数组进行删除插入,为了保证数组的连续性,就要做大量的数据搬移工作 a) 数组如何实现下标随机访问。 引入数组再内存种的分配图,得出寻址公式 b) ...
  • 日常工作中,我们常常会遇到一些带有重复值的数据列。例如下面表格中的姓名列,标红色的是重复数据,...01不重复个数的计算公式首先来看如何计算C列的不重复姓名个数,直接上公式:这是一个数组公式,输入完后需要...
  • 普通指针与数组指针的区别如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的...
  • 比如删除A列单元格是5的行B1输入=INDEX(A:A,SMALL(IF($A$1:$A$10&lt;&...数组公式,先按住CTRL+SHIFT,最后回车公式下拉复制B列&gt;右键&gt;选择性粘贴&gt;数值删除A列,OK....
  • Excel中a列和c列的数据有相同的,也有不同的,如何去重后现在在另一个表格的a列这个不算难问题,你上传一下的数据表,帮你做了。...",,IF(MATCH(A1:A10,A1:A10,)=ROW(1:10),A1:A10,"")) 数组公式c...
  • 第IV部分 数组公式 第V部分 其他公式技术 第VI部分 开发自定义工作表功能 第VII部分 附录 ∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽ 作者介绍 John Walkenbach被誉为“电子表格先生...
  • 第IV部分 数组公式 第V部分 其他公式技术 第VI部分 开发自定义工作表功能 第VII部分 附录 ∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽ 作者介绍 John Walkenbach被誉为“电子表格先生...
  • 连续的内存空间、相同的数据,所以数组可以随机访问,但对数组进行删除插入,为了保证数组的连续性,就要做大量的数据搬移工作 数组如何实现下标随机访问。 引入数组再内存种的分配图,得出寻址公式 a[i]_...
  • 村长今天跟大家简单分享一下...一、Excel1.1、函数法(数组公式)函数公式:=IFERROR(INDEX(A:A,SMALL(IF(MATCH($A$2:$A$16,$A$2:$A$16,0)=ROW($1:$15),ROW($2:$16),9^9),ROW(A1))),"")1.2、技巧法(删除重复值)操作步...
  • 表格中同一物料有多次领退记录且数量不一致现需统计每种物料的结存情况 (领退数量相加)前面已学习如何通过数据筛选+Sumif函数实现去重求和通过数据高级筛选删除重复项Sumif函数+数组输入公式=SUMIF(B3:B10,F3:F6,D3:...
  • Day08 集合1.数据结构是用来研究如何存储数据的,也就是研究存储数据的方式的。... 计算元素的地址的公式数组的地址+索引*每个元素占用的空间大小; 特点: 查询和修改数据速度快;删除速度比较慢; 2.链表: 不是
  • JavaScript学习笔记

    2019-06-28 21:52:26
    JavaScript学习笔记JavaScript简介break与continue变量空间函数数组对象创建对象删除对象属性遍历功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个...
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
     3.6.1 一个数组公式的例子  3.6.2 数组公式日历  3.6.3 数组公式的优缺点  3.7 计数和求和技巧  3.7.1 计数公式的示例  3.7.2 求和公式的示例  3.7.3 其他计数工具  3.8 使用日期和时间  3.8.1 输入日期和...
  • 第一天什么是数据结构好的算法算法复杂度分析实例1、最大子列和问题数据结构存储——数组或链表多项式表示链表插入删除注意事项功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何...
  • java的单向链表

    2020-09-14 06:06:27
    Java的单向列表单向链表如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你...
  • 实例139 删除数组中重复的连续元素 实例140 删除有序数组中的重复元素 实例141 数组合并 实例142 利用数组计算平均成绩 实例143 数组中整数的判断 实例144 判断二维数组中是否有相同的元素 实例145 计算两个...
  • 实例139 删除数组中重复的连续元素 实例140 删除有序数组中的重复元素 实例141 数组合并 实例142 利用数组计算平均成绩 实例143 数组中整数的判断 实例144 判断二维数组中是否有相同的元素 实例145 计算两个...
  • 第一种思路,出现次数超过一半的数字,不管如何,必然这个数字位于数组中间的位置,因此可以采用类似于快排的划分的方法,找到位于数组中间的位置的数字,然后在顺序检索是否这个数字出现次数超过一半。第二种思路...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    106 <br>0175 如何检索指定条件数组中的元素 107 <br>0176 如何动态改变数组长度 108 <br>0177 如何反转数组中元素的顺序 108 <br>0178 如何排序数组中的元素的顺序 109 <br>0179 如何创建...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

如何删除数组公式