京公网安备 11010802034615号
经营许可证编号:京B2-20210330
Excel数组公式
我身边的朋友有很多人使用Excel,但是都不了解Excel数组公式,就不能认为已经掌握了Excel。数组公式是Excel功能量强大的计算公式。可以使用表达式和各种函救来创建数组公式。以解决用普通公式所无法解决的复杂问题。
所谓数组公式。就是对数组进行计算的公式。前面介绍的公式基本上都是执行一个简单计算。并且返回一个计算结果。当需要对两组或两组以上的数据进行计算并返回一个或多个计算结果时。就需要使用数组公式了。
数组公式具有以下特征:
·单击教组公式所在的任意单元格。就可以在公式编辑栏中看到公式前后出现的大括号“{}”。在公式编辑栏中单击。大括号就会消失。
·输入数组公式的每个单元格中的公式是完全相同的。
·必须按【Ctrl+Shift+Enter】组合键才能得到数组公式。否则。如果只按【Enter】键。那样得到的是普通公式。
·公式中必定有单元格区域的引用。或者必定有数组常量。
·不能单独对数组公式所涉及的单元格区域中的某一个单元格进行编辑、删除或移动等操作。
·数组公式可以存在于多个单元格中。也可以仅输入到一个单元格。即使是输入到一个单元格的数组公式。也必须按【Ctrl+Shift+Enter】组合键来创建。
下面结合实际案例来说明数组公式的使用方法。
图1所示的A列至C列数据是从数据库导出的数据。其中C列的批次是数量和单位的混合字符串。现在要求把批次分成数量和单位两部分。分别保存在D列和E列。以便于以后进行统计分析。
图1
显然。这样的问题不是一个简单的公式所能解决的,需要使用数组公式。
要将批次中的数量和单位分开。需要了解批次数据中从左边开始哪些字符是数字。到哪个字符就由数字变为了文本(汉字或字母),这样才能利用文本函数LEFT把数量取出来。利用文本函数MID把单位取出来。下面以单元格C3的批次数据为例。说明解决问题的思路和公式的创建方法及步骤。
要想判断批次数据中从左边开始哪些字符是数字。到哪个字符就由数字变为了文本。需要知道批次数据有多少个字符。然后利用MID函数把每个字符取出来。因此。首先使用LEN函数得到批次数据的长度。再利用INDIRECT函数和ROW函数得到一个从1开始到批次数据长度结束的自然数序列。选择单元格区域G2:G15(或者G列从第2行开始到某行为止。行数要大于批次数据字符长度),输人数组公式“=ROW(INDIRECT(“1:”&LEN(C3)))”,如图2所示。
图2
有了这个自然数序列。就可以利用MID函数把批次数据的各个字符分别取出来了。选择单元格区域H2:H15.输人数组公式“=MID(c3,G2:G15,1)”。如图3所示。
图3
由于利用MID函数从字符串中取出的不论是数字还是文本。都被处理成文本。因此需要把取出来的批次数据中代表数量的数字转换成真正的数字。选择单元格区域12:|15.输入数组公式“=1*H2:H15”。如图4所示。
图4
显然,从批次数据左侧开始取出的各个数据。只要开始出现错误值。就表明从该字符开始就是单位了。因此需要判断从哪个位置开始出现错误值。选择单元格区域J2:J15.输入数组公武“=ISERROR(12:|15)”。如图5所示。
图5
这样,就知道了批次数据各个字符串是否为数字(FALSE表示是数字,TRUE表示是文本,第一个出现TRUE的位置就是单位开始出现的位置)。因此可以利用MATCH函数确定这个位置。选择单元格K2.输入公式“=MATCH(TRUE.J2:J15.0)”。即可得到这个位置的数宇。如图6所示。
图6
知道了批次数据中从哪个字符开始就是单位。可利用LEFT函数很容易地把数量数字取出。利用MID函数把单位取出。选择单元格L2.输入公式“=1*LEFT(C3.K2—1)”。得到批次数据中的数量数字。如图7所示。
图7
最后。按照与上面相反的顺序。将中间的计算过程逐一消除,把中间计算过程的计算公式综合成一个公式。步骤如下:
1、单元格L3的公式引用了单元格K2的结果。而单元格K2的计算公式为“=MATCH(TRUE,J2:J15,O)”,这样,把单元格K2的计算公式去掉等号,仅仅复制等号后面的函数本身,并用它替换掉单元格L2计算公式中的单元格引用K2.得到新的计算公式:
=1*LEFT(C3,MATCH(TRUE,J2:J15,0)-1)
2、这个公式中引用了单元格区域J2:J15的结果。而单元格区域J2:J15的计算公式为“=ISERROR(I2:I15)”,这样,把上述公式中的单元格引用J2:J15替换为ISERROR(I2:I15),得到新的计算公式(注意从此开始就是数组公式了,因此要按[Ctrl+Shift+Enter】组合键):
=1*LEFT(C3,MATCH(TRUE,ISERROR(I2:I15),0)-1)
3、这个公式中引用了单元格区域I2:I15的结果,而单元格区域I2:I15的计算公式为“=1*H2:H15”,这样,把上述公武中的单元格引用I2:I15替换为1*H2:H15,得到新的计算公式:
=l*LEFT(C3,MATCH(TRUE,ISERROR(1*H2:H15)。0)一1)
4、这个公式中引用了单元格区域H2:H15的结果,而单元格区域H2:H15的计算公式为“=MID(C3,G2:G15.1)”,这样,把上述公式中的单元格引用H2:H15替换为MlD(C3,G2:G15,1),得到斯的计算公式:
=1*LEFT(C3,MATCH(TRUE,ISERROR(1*MID(C3,G2:G15,1)),0)-1)
5、这个公式中引用了单元格区域G2:G15的结果,而单元格区域G2:G15的计算公式为“=ROW(INDIRECT("1:"&LEN(c3)))”,这样,把上述公式中的单元格引用G2:G15替换为ROW(1NDIRECT("1:"&LEN(c3))),得到新的计算公式:
=1*LEFT(C3,MATCH(TRUE,ISERROR(1*MID(C3,ROW(INDIRECT("1:"&LEN(C3))),1))。0)-1)
6、这个公式就是最终需要的公式,将这个公式原封不动地复制到单元格D3中(要注意将公式复制到单元格后,按【Ctrl+Shift+Enter】组合键),就得到了批次数据中的数量。
7、在单元格E3中输入公式“=MID(C3.LEN(D3)+1.999)”。就得到了批次数据中的单位。最后的结果如图8所示。
图8
有时候报表中会有一些错误值。这时如果使用SUM函数进行加总。就会出现错误。从而得不到正确的结果,如图9所示。为了能够得到正确的计算结果。也就是忽略错误值。仅仅计算单元格区域的数值。就需要使用下面的数组公式了(见图9):
=SUM(IF(ISERROR(B2:B6),"",B2:B6))或者 =SUM(IFERROR(B2:B6,""))
图9
学会了Excel数组公式以后,我们就可以解决更加复杂的问题了,通过这节,我们首先了解了Excel数组公式是什么?根据实例简单了解了下Excel数组公式的运算。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在回归分析中,因子(即自变量)的筛选是构建高效、可靠回归模型的核心步骤——实际分析场景中,往往存在多个候选因子,其中部分 ...
2026-04-13在机器学习模型开发过程中,过拟合是制约模型泛化能力的核心痛点——模型过度学习训练数据中的噪声与偶然细节,导致在训练集上表 ...
2026-04-13在数据驱动商业升级的今天,商业数据分析已成为企业精细化运营、科学决策的核心手段,而一套规范、高效的商业数据分析总体流程, ...
2026-04-13主讲人简介 张冲,海归统计学硕士,CDA 认证数据分析师,前云南白药集团资深数据分析师,自媒体 Python 讲师,全网课程播放量破 ...
2026-04-13在数据可视化与业务分析中,同比分析是衡量业务发展趋势、识别周期波动的核心手段,其核心逻辑是将当前周期数据与上年同期数据进 ...
2026-04-13在机器学习模型的落地应用中,预测精度并非衡量模型可靠性的唯一标准,不确定性分析同样不可或缺。尤其是在医疗诊断、自动驾驶、 ...
2026-04-10数据本身是沉默的,唯有通过有效的呈现方式,才能让其背后的规律、趋势与价值被看见、被理解、被运用。统计制图(数据可视化)作 ...
2026-04-10在全球化深度发展的今天,跨文化传播已成为连接不同文明、促进多元共生的核心纽带,其研究核心围绕“信息传递、文化解读、意义建 ...
2026-04-09在数据可视化领域,折线图是展示时序数据、趋势变化的核心图表类型之一,其简洁的线条的能够清晰呈现数据的起伏规律。Python ECh ...
2026-04-09在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-04-09长短期记忆网络(LSTM)作为循环神经网络(RNN)的重要改进模型,凭借其独特的门控机制(遗忘门、输入门、输出门),有效解决了 ...
2026-04-08在数据分析全流程中,数据质量是决定分析结论可靠性的核心前提,而异常值作为数据集中的“异类”,往往会干扰统计检验、模型训练 ...
2026-04-08在数字经济飞速发展的今天,数据已渗透到各行各业的核心场景,成为解读趋势、优化决策、创造价值的核心载体。而数据分析,作为挖 ...
2026-04-08在数据分析全流程中,数据处理是基础,图形可视化是核心呈现手段——前者负责将杂乱无章的原始数据转化为干净、规范、可分析的格 ...
2026-04-07在数据分析与统计推断中,p值是衡量假设检验结果显著性的核心指标,其本质是在原假设(通常为“无效应”“无差异”)成立的前提 ...
2026-04-07在数字经济深度渗透的今天,数据已成为企业生存发展的核心资产,企业的竞争本质已转变为数据利用能力的竞争。然而,大量来自生产 ...
2026-04-07Python凭借简洁的语法、丰富的生态库,成为算法开发、数据处理、机器学习等领域的首选语言。但受限于动态类型、解释性执行的特性 ...
2026-04-03在深度学习神经网络中,卷积操作是实现数据特征提取的核心引擎,更是让模型“看懂”数据、“解读”数据的关键所在。不同于传统机 ...
2026-04-03当数字化转型从企业的“战略口号”落地为“生存之战”,越来越多的企业意识到,转型的核心并非技术的堆砌,而是数据价值的深度挖 ...
2026-04-03在日常办公数据分析中,数据透视表凭借高效的汇总、分组功能,成为Excel、WPS等办公软件中最常用的数据分析工具之一。其中,“计 ...
2026-04-02