收藏本站 |
采购管理 | 销售营销 | 研发管理 | 中层干部 | TTT培训 | |
您当前位置:企业培训课程站 >> 管理文库
Excel数据块之间的运算原理
时间:2012-11-15;来源:办公技能提升;作者:佚名;上传用户:aqingc
最近看到一个比较有趣的问题,Excel中以下表达式代表什么含义:
= B1:D1 * A2:A4
与想象中向量乘积不一样,此处答案是一个3×3的矩阵。在输入框选中B1:D1 * A2:A4
然后按F9便能看到结果。这不光适用于表格区域,也适用于运算结果和直接输入的数据块,比如=(B1:D1>1)*{1;2;3}
。原理何在?
事实上,Excel在进行区域之间的计算时,均为按位置运算,包括比较、符号运算,包括乘法。当A为M×N的区域(此处区域可以是一个Excel表格区域,也可以是计算得到的结果矩阵),B为X×Y的区域,那么在计算A×B时,A和B都先扩充为max(M, X)×max(N, Y)的矩阵,然后按位置相乘,得到的结果为一个max(M, X)×max(N, Y)的矩阵。
但需要注意的是扩充的规则。只有两种方式,N/A填充(这里N/A为一个Excel的错误类型)和重复填充。如果只有一行或者一列,则为重复填充;否则为N/A填充,即多余的格子都为N/A。
当然,这里N/A事实上不是填充出来,而是在计算过程中产生的。但最终结果一样,并且填充的方式更容易被理解,所以这里不做区分,还是按照填充的说法。
一个简单的例子为,比如{1, 2, 3} 扩充为4×5的矩阵后为以下结果:
1 2 3 N/A N/A 1 2 3 N/A N/A 1 2 3 N/A N/A 1 2 3 N/A N/A
而{1 1 1; 1 2 3}扩充为4×5的矩阵后为以下结果:
1 1 1 N/A N/A 1 2 3 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
利用这种规则,可以一个公式写出九九乘法表:选中一个9×9的区域,然后输入数组公式:
{={1,2,3,4,5,6,7,8,9}*{1;2;3;4;5;6;7;8;9}}
免责声明: 本站为非营利性网站,所登载此文是由开放网络用户自由发布分享,本站不参与审核、编辑或修改,仅为提供给感兴趣读者学习研究使用,不代表本站同意该文章的立场观点,且本网不承担稿件侵权行为连带责任。如涉及版权等问题请与本网站联系,核实后会给予处理。
用户中心 | 法律声明 | 网站导航 | Copyright (c) 2006-2025 All Rights Reserved hr580.com 企业培训课程站
未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任 备案序号:粤ICP备08118827号
未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任 备案序号:粤ICP备08118827号