如何用python 数组相乘按要求将多列相乘

2292人阅读
第三部分:数组公式的计算
在对数组有了基本的认识后,我们将通过一些例子来讲一讲数组公式是怎么计算的。
1、行列数相同数组的运算
数组1+数组2=结果,这是一个多单元格的数组公式,第一个数组的第一个元素与第二个数组的第一个元素相加,结果作为数组公式结果的第一个元素,然后第一个数组的第二个元素与第二个数组的第二个元素相加,结果作为数组公式结果的第二个元素,接着是第三个元素&&直到第N个。
这是横向的一维数组的计算,原理同上。
这是二维数组与二维数组进行计算,生成一个新的二维数组的多单元格数组公式。同样的计算过程,第一个数组的第一行的第一个元素与第二个数组的第一行的第一个元素相乘,结果为数组公式的结果的数组的第一行的第一个元素,接着是第二个,第三个&&直到第N个。
规律很简单:两个同行同列的数组计算是对应元素间进行运算,并返回同样大小的数组。
正如穿鞋要穿合脚的才走得了路一样,在公式或函数中使用数组时,运算对象或参数的数组维数要匹配,否则计算会出错。教室里,第一排的有8个同学,第二排有9个同学,老师说:&第一排和第二排的同学交换作业,互相检查。&第二排的第9个同学和谁交换?这就是数组的不匹配。数组不匹配时,工作就不能完成了。
你可以试着改一改数组的参数试试。
2、数组与单一的数据的运算
这相当于在E42单元格输入公式=A42*$C$42,然后下拉复制公式实现。
等同于在B56输入公式&=B52+$B$54&,然后右拉复制公式实现。
等同于在C67单元格输入公式&=A60+$E$60&然后右拉下拉复制公式实现。
不难看出:一个数组与一个单一的数据进行运算,是将数组的每一元素均与那个单一数据进行计算,并返回同样大小的数组。
3、单列数组与单行数组的计算
两个数组相加,查看结果是几行几列:在任意单元格输入公式&=A2:A5+B7:E7&,抹黑公式,按F9键,可看到公式的计算结果为数组&{110,210,310,410;120,220,320,420;130,230,330,430;140,240,340,440}&通过观察分号与逗号,我们知道这是一个四行四列的数组,选择一个四行四列的单元格,输入公式&=A2:A5+B7:E7&,三键结束,可看到返回的结果。再比如下图,相信你一定能够理解!
单列数组与单行数组的计算:
A、计算结果返回一个多行列的数组;
B、返回数组的行数同单列数组的行数相同、列数同单行数组的列数相同。
C、返回数组中第R行第C列的元素是单列数组的第R个元素和单行数组的第C个元素运算的结果。
4、行数(或列数)相同的单列(或单行)数组与多行多列数组的计算
(1)单列数组的行数与多行多列数组的行数相同时:
(2)单行数组的列数与多行多列数组的列数相同时:
计算规律同单行单列的数组计算的规律大同小异:
A、计算结果返回一个多行列的数组;
B、返回数组的行、列数与多行多列数组的行列数相同;
C、单列数组与多行多列数组计算时,返回的数组的第R行第C列的数据等于单列数组的第R行的数据与多行多列数组的第R行第C列的数据的计算结果;
D、单行数组与多行多列数组计算时,返回的数组的第R行第C列的数据等于单行数组的第C列的数据与多行多列数组的第R行
5、行、列数不相等的数组计算
(1)行数不相等的单列数组与与多行列数组的计算
(2)列数不相等的单行数组与多行多列数组的计算
(3)行、列数不相同的两个多行多列数组的计算
有了对前面例子的分析,再来看这三个例子就相对简单了。它们的计算规则和前面都是一样的,不难看出:
A、公式返回一个多行多列数组;
B、返回数组的行数与参与计算的两个数组中行数较大的数组的行数相同,列数与较大的列数的数组相同;
C、返回数组大于较小行数数组行数、大于较大列数数组列数的区域的元素均为#N/A。有效元素为两个数组中对应数组的计算结果。
需要提醒一点的是,对会返回#N/A的数组,在进行再计算和处理时,考虑对#N/A值作相应的处理!
比如我们想对上面数组与数组2相加后的结果进行求和:
正确的公式(数组):=SUM(IF(ISNA(A213:B216+D213:F215),0,A213:B216+D213:F215))通过ISNA函数对返回的数组里的各个元素进行了判断和处理,把把有的#N/A值替换成数值0,最后再用SUM函数对所有数值进行求和。
我们说,数组计算时,得注意行列数的匹配,其实如果了解了数组的计算原理后,能正确处理那些返回的#N/A值的话,很多时候并不会出错的。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2519654次
积分:16275
积分:16275
排名:第552名
原创:179篇
转载:137篇
评论:177条
(2)(4)(1)(4)(2)(8)(1)(1)(1)(1)(12)(2)(2)(5)(2)(6)(3)(5)(2)(4)(15)(11)(1)(1)(3)(11)(7)(2)(3)(19)(5)(20)(8)(8)(1)(30)(31)(1)(6)(40)(22)(1)(1)(4)excel多列相乘在求和 Excel表格乘法函数的相关知识
“excel多列相乘在求和 Excel表格乘法函数”的相关知识
根据网友提出的“excel多列相乘在求和 Excel表格乘法函数”等问题,Excel办公网整理了各大知名网站有关“excel多列相乘在求和 Excel表格乘法函数”的一些信息,请注意,文中的内容并非本站的观点,不要相信任何联系方式。下文是关于“excel多列相乘在求和 Excel表格乘法函数”的一些基本知识:
问题:Excel表格乘法函数公式
回答:...输入完毕今后,我们会发此刻 C1 单位格中会显示&0&,虽然了,因为此刻还没有输入要相乘的数据嘛,自然会显示0了。
③此刻我们在&A1&和&B1&单位格中输入需要相乘的数据来举办求积,如下图,我别离在A1和B1单位格中输入10和50举办相乘,功效在C1中就会显示出来,便是&500&。
上面主要讲授了两个单位格相乘求积的,可是在我们泛...
问题:Excel2010手动批量求和全攻略
回答: 有时候我们希望在Excel中将一些数据相加或者相乘得出它的和或积。在Excel中无论是求和还是求差都是非常方便的,而且准确无误。本次Excel办公网就来为大家详细讲解如何使用Excel2010批量求和的方法。
Excel2010单个求和方法:
如下图所示,我希望将A1与B1相加求和。
①首先,我们得找个空地,来放相加得出来的结果,就选择C1吧,将A1和B1相加得出的结果填在C1中(鼠标单...
问题:Excel2007中有单位的数据又该怎么进行求和计算
回答:...明
sumproduct(数组1,数组2,&&数组30):在给定的数组中,将数组间对应的元素进行相乘,并返回乘积之和。
substitute(在哪里替换,要替换的旧文本,用于替换旧文本的新文本,指定新文本替换第几次出现的旧文本):在文本字符串中,用新文本替换旧文本。
首先,substitute函数会将C2:C12区域的单位个去掉,这样就返回了没有单位的数量的数组,最后,sumproduct函...
问题:Excel函数系列教程Sumproduct计算排名前三项的和
回答:...绍
sumproduct(数组1,数组2,&&数组30):在给定的数组中,将数组间对应的元素进行相乘,并返回乘积之和。
large(在哪里找,找第几个最大值):返回区域中第K(K为大于0的整数,并且K要小于数据点)个最
问题:请问,EXCEL表格中,多数相乘相加,用函数怎么表示例如,((A1+B1)XC1)+((D1+F1)XG1)回答:=((A1+B1)*C1)+((D1+F1)*G1)当然,也可以省略两个括号=(A1+B1)*C1+(D1+F1)*G1... 问题:在Excel中单元格之间的相乘得出来的数为什么与计算机得出来的数不一样回答:从你分析的看,应该是EXCE错了,但是不可能的 ,应该是你的修改了什么地方。我的没有问题... 问题:内容见标题!回答:在输的最后一列行里或几个空列行里 如 A列 2行856 B列 2行 4 应该是输入=A2*B2回车即可... 问题:如何excel同一个单元格中的三个个相乘的数字转化另一个单元格它们的为乘积?回答:如图:先选中B1单元格--》“插入”--》“名称”--》“定义”--》“在当前工作薄中的名称”下方框输入“JS”--》在“引用位置”下面的方框输入“ =evaluate(a1)”,如图:--》“确定”--》在B1单元格输入“ =JS”,对准右下角,光标成“+”状时双击,效果如图:OK... 问题:=SUMPRODUCT1*订单明细
回答:...《MS+Office高级应用》&),订单明细!H3:H262上面计算的结果与订单明细表的H3至H262单元格对应相乘。 SUMPRODUCT(1*(订单明细!E3:E262=&《MS+Office高级应用》&),订单明细!H3:H262)将上面在乎的结果相求和。 SUMPRODUCT(1*(订单明细!E3:E262=&《MS+Office高级应用》&),订单明细!H3:H262)+262将上面求和的结果加上262 OK
问题:玩转Excel数据05:对多列排序
回答:...加的这个条件肯定是针对另外的列而言的,所以,汪琪老师现在要为大家讲解的就是利用Excel对多列进行排序。
我们以上图中的表格为例,先按照高等数学成绩由低到高排序,遇到成绩相同的情况时,再按照大学英语成绩由高到低排列。童鞋们千万不要忘了去最后下载素材和作业哦!
1、任意选中表格中的一个单元格,然后切换到&数据&选项卡,单击&排序和筛...
问题:在EXCEL中把一列多个不同内容分成有规律的多列?如回答:excel里面有一个数据处理命令: 分列选中数据列-----分列----分割符号----选中分割符号(你的应该是空格)--预览分割的数据效果,确定即可 追问: 首先谢谢你!因为数据很多,有的一列有一组数据,有的2组等,对应不规则,用此种方法容易把数据分开了,非常大的麻烦。再请赐教,有没有命令或函数等方法,让错误率变...... 问题:Excel2003入门动画教程65:表格多列数据合并
回答:...一族的童鞋们工作中必不可少的软件之一。在Excel中有分列就有合并,如果需要将Excel表格中的多列数据显示到一列中,可以用合并函数来实现,比如这一课,如果希望将B列数据和C列数据组合型显示到D列中(中间添加一个&-&符号),一个&&&就搞定了,具体操作就让小编为大家带来分享!
动画演示:
①选中D1单元格,输入公式:=B1&&-&&C1,确...
问题:比如 我在a列 输入 1
6 等等在b列
3 2 1 我要怎么按 才能让C列输出 a-b的值啊 单行的我知道 =a1-b1
但是 =a-b就不行~求大神告诉我怎么自动算 两列想减回答:如果要计算整个A列 减去 整个B列=sum(A:A)-sum(B:B) 如果是每行 都进行计算该行的A列 减去 该行的B列:输入单行的公式 =A1-B1然后鼠标放在编辑公式的单元格C1的右下角,成为实心的十字形状后,按下左键,向下拖曳即可...... 问题:在Excel中快速将单列转换为多列
回答:在Excel中如果要将工作表中的单列数据转换为多列,用公式来完成较为快捷。例如A2:A32为一些人员名单,要将这些名单放置到一个指定列数(如4列)的二维区域中。
本例将转换后的数据放置在C2:F9区域中,在C2单元格中输入公式:
=INDIRECT(ADDRESS((ROW($A2)-2)*4+COLUMN(A2)+1,1))
然后拖动填充柄向右填充至F2单元格(共4列),再向下填充到C2:F9区域,直到出现“0”为止,其名...
问题:Excel从多列各取一个单元格值进行组合一例
回答:最近在工作中遇到一个问题,需要在Excel中从多列各取一个单元格值进行组合,得到全部的组合数据。如图所示,要得到“颜色”、“领型”和“尺码”的全部组合,放到以E2为左上角的区域中。经过一番摸索后总结了几种方法,分别用公式、VBA、Microsoft Queny和Access来实现,写在这里供大家参考。以下图的三列为例,所用的Office版本为Excel2013和Access2013,其他版本的操作方法类似...
为您推荐:Excel怎么使用MMULT函数返回两个数组的矩阵乘积?
作者:佚名
字体:[ ] 来源:互联网 时间:12-21 15:15:18
Excel怎么使用MMULT函数返回两个数组的矩阵乘积?在计算矩阵乘积的时候会动的到的函数,但是很多朋友不熟悉这个函数,今天我们就实例来教大家怎么使用MMULT函数,需要的朋友可以参考下
在Excel中,我们有时需要计算矩阵,那么如何使用MMULT函数返回两数组矩阵乘积呢?
1、Excel中返回两数组矩阵乘积需要使用到MMULT函数。
2、MMULT函数的使用格式为:=MMULT(array1,array2)。注意此处是两个数组。
3、其中,MMULT函数中参数Array1、参数array2分别是要进行矩阵乘法运算的两个数组。
1行n列 与m行1列之积
1、首先,我们计算矩阵1行n列与m行1列之积。如图所示,样例中建立了参数1(1行3列)和参数2(3行1列)。
2、接着,我们在如图所示的空白单元格输入公式:=MMULT(D8:F8,C10:C12)。
3、确认函数后,按下Enter键,即可得到如图所示的矩阵结果&140&(这里计算过程为:1*10+2*20+3*30)。
1行n列与m行x列之积
1、然后,我们计算矩阵1行n列与m行x列之积。如图所示,样例中建立了参数1(1行3列)和参数2(3行2列)。
2、接着,我们在如图所示的空白单元格输入公式:=MMULT(D19:F19,C21:D23)。
3、确认函数后,按下Enter键,即可得到如图所示的矩阵结果1&140&和结果2&172&(这里计算过程分别为:1*10+2*20+3*30,4*1+5*2+6*3)。
m行1列与1行n列之积
1、第三种情形,我们计算矩阵m行1列与1行n列之积。如图所示,样例中建立了参数1(3行1列)和参数2(1行3列)。
2、接着,我们在如图所示的空白单元格输入公式:=MMULT(C31:C33,D35:F35)。
3、确认函数后,按下Enter键,即可得到如图所示的矩阵结果1&10&和结果2&360&(这里计算过程分别为:C50*D54,C50*D54+C50*E54+...C52*F54)。
m行x列与x行n列之积
1、最后一种情况,我们计算矩阵m行x列与x行n列之积。如图所示,样例中建立了参数1(3行2列)和参数2(2行3列)。
2、接着,我们在如图所示的空白单元格输入公式:=MMULT(C44:D46,D48:F49)。
3、确认函数后,按下Enter键,即可得到如图所示的矩阵结果1&38&和结果2&720&(这里计算过程分别为:C63*D67+D63*D68, C63*D67+D63*D68+...C65*F67+D65*F68)。
注意事项:
1、第一个参数的列数,要等于第二个参数的行数。
2、函数结果的行数与 array1 的行数相同,矩阵的列数与 array2 的列数相同。
相关补充:
MMULT(array1,array2)函数介绍:
返回两个数组的矩阵乘积。结果矩阵的行数与数组array1 的行数相同,矩阵的列数与数组array2 的列数相同。
MMULT(array1,array2)
Array1, array2 是要进行矩阵乘法运算的两个数组。
Array1 的列数必须与 array2 的行数相同,而且两个数组中都只能包含数值。
Array1 和 array2 可以是单元格区域、数组常量或引用。
在以下情况下,MMULT 返回错误值 #VALUE!:
任意单元格为空或包含文字。
array1 的列数与 array2 的行数不相等。
相关推荐:
大家感兴趣的内容
12345678910
最近更新的内容}

我要回帖

更多关于 matlab数组 取出多列 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信