在WPS中处理数据时,将二维表转换为一维表是常见需求。而TOCOL函数就是实现这一转换的得力助手。借助TOCOL函数,我们能摆脱WPS不支持POWER QUERY的限制。而利用TOCOL函数实现二维表转一维表的操作其实也并不复杂。
一、获取对应名称
首先,我们要让每个数据都对应上其所属的名称。可以使用公式:=IF(B2:D6<>"",A2:A6,NA())。这个公式的作用是判断表格的值区域(B2:D6)是否不为空白,若条件成立,就返回对应的姓名(A2:A6);若条件不成立,则返回#N/A错误值。通过这样的设置,每个数据就能准确对应上其所属的姓名了。
二、转换名称行列
上一步我们得到了每个数字对应的名称,接下来就可以利用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)。这样,数值就成功从多列转换为一列了。
四、组合公式
对于新手来说,上述分步公式可能稍显复杂,这里有一个组合公式可以直接套用:=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函数,我们能高效地将二维表转换为一维表,大大提升数据处理效率。只要按照上述步骤操作,即使是新手也能轻松掌握。
评论 (0)