从TRANSPOSE函数的基础用法,再到嵌套MMULT函数来从头细说Excel中TRANSPOSE函数的使用
时间:2022-02-14 19:20:38
第一:TRANSPOSE函数用法介绍
Excel中TRANSPOSE函数就是进行行列互转的函数,这是基础用法。TRANSPOSE函数最常见的就是和MMULT函数嵌套使用,再下面会涉及到。
首先看看TRANSPOSE函数的基础用法。官方帮助说明,TRANSPOSE函数可返回转置单元格区域,即将行单元格区域转置成列单元格区域,反之亦然。
TRANSPOSE函数语法是:TRANSPOSE(array)
Array参数是需要进行转置的数组或工作表上的单元格区域。所谓数组的转置就是,将数组的第一行作为新数组的第一列,数组的第二行作为新数组的第二列,以此类推。
第二:TRANSPOSE函数简单举例
使用TRANSPOSE函数将A1:B8区域的内容变为D1:K2区域的内容。
操作方法如下:
因为A1:B8区域为8行2列,因此应该选择一个2行8列的区域作为存放数据的区域,因此先选择D1:K2区域,然后输入公式:=TRANSPOSE(A1:B8),最后按Shift+Ctrl+Enter键进行确认输入,得到的结果就如上表右边显示的。
这是TRANSPOSE函数的一个基础用法。
第三,TRANSPOSE函数和MMULT函数嵌套使用
下面这个题,也是今天论坛的Excel练习题,计算7月份英国的订单总金额。普通的解法是用sumproduct多条件求和完成。
两个条件:第一,订购日期为7月份,提取7月份的日期,可以使用month函数完成。第二,国家为“英国”。
SUMPRODUCT函数求和套用格式:SUMPRODUCT((条件1)*(条件2)*(条件3)*…*求和区域),公式为:=SUMPRODUCT((A2:A12=A2)*(MONTH(D2:D12)=7)*C2:C12)
重点是说说TRANSPOSE函数结合MMULT函数的用法。数组公式为:
=MMULT(TRANSPOSE(A2:A12="英国")*TRANSPOSE(TEXT(D2:D12,"m")="7"),C2:C12)
说起来很简单,TRANSPOSE()就是转置,这里的用法就是将多行转为多列来满足MMULT函数构造第一参数。
说到数组,先看看分号行逗号列的意思。数组中“;”分号表示分为多行,“,”逗号表示分为多列。
选择公式的TRANSPOSE(A2:A12="英国")*TRANSPOSE(TEXT(D2:D12,"m")="7")这部分,按F9查看运算结果:{1,1,0,0,1,0,1,1,0,0,1},得到1和0这样的数字。
再用这些数字和MMULT的第二参数C2:C12分别相乘再加,就得到结果。
MMULT和TRANSPOSE函数就像是一对铁哥们,MMULT走到哪里,TRANSPOSE函数就跟到哪里。在MMULT公式中,TRANSPOSE函数究竟应该安排在哪里,这和MMULT有密切关系。
MMULT函数的语法是:MMULT(array1, array2),数组1的列数必须与数组2的行数相同。
比如这题MMULT(array1, C2:C12),数组2的行数是已知的,就需要构造数组1的列数,列数的构造,就用到TRANSPOSE函数进行转置。