在WPS中处理数据时,将二维表转换为一维表是常见需求。而TOCOL函数就是实现这一转换的得力助手。借助TOCOL函数,我们能摆脱WPS不支持POWER QUERY的限制。而利用TOCOL函数实现二维表转一维表的操作其实也并不复杂。​

一、获取对应名称​

首先,我们要让每个数据都对应上其所属的名称。可以使用公式:=IF(B2:D6<>"",A2:A6,NA())。这个公式的作用是判断表格的值区域(B2:D6)是否不为空白,若条件成立,就返回对应的姓名(A2:A6);若条件不成立,则返回#N/A错误值。通过这样的设置,每个数据就能准确对应上其所属的姓名了。

WPS新函数TOCOL太强大了,轻松完成二维表转一维表-趣帮office教程网

二、转换名称行列​

上一步我们得到了每个数字对应的名称,接下来就可以利用TOCOL函数将多列数据转换为一列数据,使用公式:=TOCOL(IF(B2:D6<>"",A2:A6,NA()),3)。这里TOCOL函数的第三参数设置为3,代表忽略错误值。经过这一步操作,名称就从多列转换为一列了。​

对于表头的转换,操作原理相同,只需将公式中的A2:A5改为表头区域(B1:D1)即可,公式为:=TOCOL(IF(B2:D6<>"",B1:D1,NA()),3)。

三、转换数值行列​

最后,将数值区域也转换为一列,直接使用TOCOL函数即可,公式为:=TOCOL(B2:D6,3)。这样,数值就成功从多列转换为一列了。

WPS新函数TOCOL太强大了,轻松完成二维表转一维表-趣帮office教程网

四、组合公式​

对于新手来说,上述分步公式可能稍显复杂,这里有一个组合公式可以直接套用:=LET(x,B2:D6,y,A2:A6,z,B1:D1,VSTACK({"姓名","科目","成绩"},HSTACK(TOCOL(IF(x<>"",y,NA()),3),TOCOL(IF(x<>"",z,NA()),3),TOCOL(x,3))))。其中,B2:D6为数值区域,A2:A6为首列,B1:D1为首行,大家可根据自己表格的实际情况修改参数,表头也可根据数据自行调整。​

通过TOCOL函数,我们能高效地将二维表转换为一维表,大大提升数据处理效率。只要按照上述步骤操作,即使是新手也能轻松掌握。