有这么一种情况,相信有很多小伙伴们都有遇到:需要比较两个工作表或两个工作簿微妙的改动之处,该如何快速且便捷地找出不同之处?

以同一个工作簿中到两个工作表为例(比较两个工作簿可以将其复制到同一个工作簿中比较),具体步骤如下:

  • 现在第三个工作表中框选出与需要比较的两个工作表区域相同的区域

  • 并输入如下函数:如果两者对应相同则显示 TRUE,如果不对应相同,即有变动之处则显示 FALSE,这个显示可以自己定义。

=IF(Sheet1!A1:F12=Sheet2!A1:F12,TRUE,FALSE)
  • 并按下 【Ctrl+Shift+Enter】组合键。

  • 为方便一眼看出那里,需要在条件格式中突出显示。

具体操作如下:


这里使用了Excel中的数组,若需要继续深入了解Excel数组相关知识,可继续阅读下文。

什么是数组

数组就是指一组数,这些数可以是纵向的一组,也可以是横向的一组,也可以是二维数组,数组的表示一般为"{}"所包括。

在Excel中,数组可以理解为多个单元格的集合,比如A1:A3A2:B5等待。

通常数组分为一维数组和二维数组。

  • 一维数组是单行或者单列多个单元集合,比如 A2:A5(单列),B2:C2 (单行)。

  • 二维数组是多行多列单元格的集合,如B3:C5

数组的特点是:

1. 所有的数组,都能在一定连续单元格区域表示出来。

2. 数组的尺寸由构成数组元素的个数来确定。

3. 同一维度的数组,要注意尺寸特征,同一数组中,不存在尺寸不同的行或列。

4. 在编辑栏可以用F9键查看数组的运算结果。

数组的计算方法

数组可以进行加减乘除四种通常的运算,无论哪种运算,输入数组公式后需要按下 【Ctrl+Shift+Enter】组合键。

所以我们可以得到以下的几种计算方式。以乘法为例。

维度:行方向或列方向,如 A2:A8

元素:数组中的每一个值,如A2:A8里面的值,元素的个数为7

一维数组*一维数组

同一维度

同向一维数据间的批量运算。即一维横向数组与一维横向数组运算,或者是一维纵向数组与一维纵向数组运算。其运算规则是相同的,即2个数组对应位置的数据分别进行运算,生成一个大小和方向不变的新数组。

如计算 A2:A5B2:B5之间两两相乘,结果保存在 C2:C5,其是列方向上的一维数组。

不同维度

即不同方向的一维数据批量运算。A2:A3 列方向上一维数组与 B2:C3 行方向上的一维数组相乘做计算,得到2行2列的多维数组。

计算过程:先用第一个数组的第一元素与第二个数组的所有元素相乘,再用第一个数组的第二个元素与第二个数组的所有元素相乘,以此类推。

一维数组*二维数组

此运算的前提是,二维数组要与一维数据同方向上的大小相同。

A2:C2 一维数组乘以A3:C4 二维数组,最终得到跟原始二维数组一样的2行3列二维数组。

计算方式以一维数组的每一个元素与二维数组相乘。

如果用列方向的数组计算,此时一维数组必须是两个元素。

二维数组*二维数组

这种运算要求2个数组大小相同,运算规则很简单,数组对应位置的数据相运算即可,生成一个大小不变的新的二维数组。

如用 A2:C3 二维数组与A4:C5 二维数组相乘,得到一个相同维度和元素的二维数组。

数组的产生

公式产生数组

需要完成如下功能,大于零的判断,即大于零返回自身,否则为0。

  • 利用IF函数。

IF(logical_test,[value_if_true],[value_if_false])

IF(A3>0,A3,0)

  • 使用数组计算。

{=(A3:A7>0)*A3:A7}

生成常数数组

方法,{}包围,同一行用逗号分隔,不同行用分号分隔。

数组的应用

两列乘积的和

输入公式:=SUM(B3:B42*C3:C42),按【Ctrl+Shift+Enter】结束公式输入。

选择B3:B42时,运用快捷键 【Ctrl+Shift+????】快速选择。

计算两列之差

使用两种方法,可以看出数组方法更加高效。

  • 普通函数法

  • 数组方法

计算正数之和

计算步骤

  1. 先判断正数

  2. 保留正数

  3. 求和

输入公式:

=SUM((A3:A18>0)*A3:A18)

判断身份证长度是否正确

此处需要用到 ORLEN 函数及数组。巧用数组与函数结合,批量处理,节约时间成本。

在数组中,+号代表OR*号代表AND

输入公式:

=LEN(B3:B12)=15
=LEN(B3:B12)=18
=(LEN(B3:B12)=15)+(LEN(B3:B12)=18)

多条件求和

统计一车间男职工工资总和。

输入公式:

=SUM((B3:B11="一车间")*(C3:C11="男")*D3:D11)

多条件判断

判断男女退休是否

判断条件:男士:60岁及以上;女式:55岁及以上。

输入公式:

=IF((B3:B12="男")*(C3:C12>=60)+(B3:B12="女")*(C3:C12>=55),"退休","否")

判断是否通过

判断条件:4个裁判都评判通过才通过。

  • 非数组公式:
    第一行输入以下公式,双击填充柄复制公式。

=AND(B3="通过",C3="通过",D3="通过",E3="通过")
  • 数组公式:
    第一行输入以下公式,双击填充柄复制公式。

=AND(B3:E3="通过")

数组函数

SUMPRODUCT

统计3天同品牌之和

SUMPRODUCT

在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

SUMPRODUCT(array1, [array2], [array3], ...)

数组公式:

=SUMPRODUCT(($A$3:$A$13=F3)*$B$3:$D$13)

产量大于100的和

数组公式:

  • 产量大于100的合计:

=SUMPRODUCT((B3:B12>100)*B3:B12)
  • 产量小于100或者大于110的合计:

=SUMPRODUCT(((B3:B12<100)+(B3:B12>110))*B3:B12)

FREQUENCY

FREQUENCY, 分段求频率

计算数值在某个区域内的出现频次,然后返回一个垂直数组。

FREQUENCY(data_array, bins_array)

说明:

  • 对于返回结果为数组的公式,必须以数组公式的形式输入。

  • 返回的数组中的元素比bins_array中的元素多一个。

数组公式:

=FREQUENCY(C3:C123,F4:F6)

-- 数据STUDIO --

看完这篇Excel数组简介,你也是Excel高手了!相关推荐

  1. 看完这篇Java基础,你也是天花板

    点击获取 15张学习路线导图 10G学习资料 100本计算机书籍

  2. 【最短路径Floyd算法详解推导过程】看完这篇,你还能不懂Floyd算法?还不会?...

    简介 Floyd-Warshall算法(Floyd-Warshall algorithm),是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似.该算法名称以 ...

  3. 为何看完这篇RxHttp Http请求框架会觉得如此销魂,全文干货建议收藏!

    前言 RxHttp相较于retrofit,功能上,两者均能实现,并无多大差异,更多的差异体现功能的使用上,也就是易用性,如对文件上传/下载/进度监听的操作上,RxHttp用及简的API,可以说碾压re ...

  4. 看完这篇再也不怕 Redis 面试了

    看完这篇再也不怕 Redis 面试了 0x00.前言 Redis是跨语言的共同技术点,无论是Java还是C++都会问到,所以是个高频面试点. 笔者是2017年才开始接触Redis的,期间自己搭过单机版 ...

  5. 收藏!最详细的Python全栈开发指南 看完这篇你还不会Python全栈开发 你来打我!!!

    Python Web全栈开发入门实战教程教程    大家好,我叫亓官劼(qí guān jié ),这个<Python Web全栈开发入门实战教程教程>是一个零基础的实战教程,手把手带你开 ...

  6. docker 删除所有镜像_关于 Docker 镜像的操作,看完这篇就够啦 !(下)| 文末福利...

    紧接着上篇<关于 Docker 镜像的操作,看完这篇就够啦 !(上)>,奉上下篇 !!! 镜像作为 Docker 三大核心概念中最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌 ...

  7. java与python难度对比_Python和Java的区别,看完这篇文章你就清楚啦

    众所周知,在数不清的编程语言中Java自诞生之日起长盛不衰,可谓是神话般的存在.随着人工智能时代的到来,Python迅速席卷全球,作为当下最热门的编程语言,因其简单实用且应用场景广泛备受青睐. 一个是 ...

  8. JVM难学?那是因为你没认真看完这篇文章

    JVM难学?那是因为你没认真看完这篇文章 一:虚拟机内存图解 JAVA程序运行与虚拟机之上,运行时需要内存空间.虚拟机执行JAVA程序的过程中会把它管理的内存划分为不同的数据区域方便管理. 虚拟机管理 ...

  9. hashmap是有序还是无序_说实话,你要是看完这篇 HashMap ,和面试官扯皮真的就没问题了!

    文章来源:看完这篇 HashMap ,和面试官扯皮就没问题了 原文作者:cxuan 来源平台:微信公众号 (如果你没有时间细抠本文,可以直接看 HashMap 概述,能让你对 HashMap 有个大致 ...

  10. redis hashmap过期_看完这篇再也不怕 Redis 面试了

    0.前言 Redis是跨语言的共同技术点,无论是Java还是C++都会问到,所以是个高频面试点. 笔者是2017年才开始接触Redis的,期间自己搭过单机版和集群版,不过现在 大一些的 公司都完全是运 ...

最新文章

  1. 让浏览器非阻塞加载javascript的几种方式
  2. C++字符串函数与C字符串函数比较
  3. C#多线程编程实战(二):线程同步
  4. linux i3如何运行qq,linux qq (CPU :i3)怎么安装?
  5. Spring Boot 2 快速教程:WebFlux Restful CRUD 实践(三)
  6. Nginx配置服务器静态文件支持跨域访问
  7. 通过bootstrap来学习less
  8. 如何成为一名合格的数据分析师
  9. 兼容各种浏览器的自动左右滚动兼左右点击滚动代码
  10. 数据库基础系列之一:MySQL账户
  11. 人脸离线识别模块_人脸识别模块做到市场份额60%,这家AI公司如何用狼性在安防杀开一条血道?...
  12. Android自定义View之上拉、下拉列表 头部元素跟随 缩放、平移效果的实现
  13. java框架ssm面试题2016_Java面试-框架篇(SSM-SpringMVC)
  14. nginx服务企业应用
  15. stm32之GPIO学习笔记
  16. Mac、M1怎么安装Maven
  17. RTD\RTK\PPK\PPP\DGPS\地基增强系统\星基增强系统
  18. Vite图片压缩(vite-plugin-imagemin) imagemin error: XXXX解决办法
  19. infor wms 中英文对照_视听盛宴 I纸牌屋揭露美国政治权力运作(16中英、纯英、无字幕可切换视频+中英文全剧本+全季音频)...
  20. csgo为什么显示vac无法连接服务器,csgovac无法验证您的游戏会话怎么办 看完你就知道了...

热门文章

  1. BigDecimal 正数转换成负数
  2. (C语言)求最大公约数的四个方法
  3. python文件粉碎传输_linux 彻底删除、粉碎文件命令shred
  4. 攒机:5000就搞定的绝对NB配置!
  5. SQL中数据的更新查询
  6. uni-app 跳转打开QQ对话框
  7. windows C++多线程(三):线程终止结束ExitThread与TerminateThread
  8. 手柄映射键盘_摆脱映射激活烦恼,北通E1手游转换器游戏体验
  9. 装修公司如何选择?上海极家家居公司
  10. 全国计算机等级模拟考试软件答案,全国计算机等级考试模拟题答案