巧用WPS新函数:快速实现表格数据维度转换

一、引言

作为一名教师,我常常需要处理各种各样的学生数据,包括期末成绩、课堂表现、作业完成情况等等,这些数据往往以不同的表格格式呈现,让人眼花缭乱。比如从教务系统导出的数据往往是一维表,但汇报时需要做成二维表;或者我们收集到二维表数据,想用数据透视表分析却必须转成一维表。如何快速实现这两个不同维表表格的互相转化呢?今天,就和大家分享两个WPS中的中实用的新函数TOCOL和PIVOTBY,快速实现表格数据维度互转。

二、场景再现一:

2.1 需求描述

每学期末,我需要分析每位学生的各科成绩,以便安排下学期的个性化辅导。教务处发来的成绩表是这样的二维表形式:

当我想要了解学生的各门课程成绩分布或者哪位同学需要加强口语训练时,却无从下手。事实上,我需要的是这样一维表格格式:

从上面的一维表中,我们可以清晰了解:谁(姓名)考了什么(考试科目),结果如何(得分)。有了这个表,我可以轻松地用数据透视表计算各科平均分,或者用筛选功能找出需要特别关注的学生,后续个性化的辅导就有有序开展。

2.2 解决的方法

TOCOL函数能够将复杂的二维表格转化成简洁的一维数据,实现我们的目标。假设原始成绩表在E1:K5区域:

第一步:提取考生姓名

我们在A2单元格输入以下公式:

💡

=TOCOL(IF(F2:K5="",NA(),E2:E5),2)

这个公式的功能是:横向遍历每一个成绩单元格,用IF函数判断是是空单元格,即是否有分数,如果有分数,就记录下对应的学生姓名,如果没有分数就返回错误值,NA() 函数用于返回错误值 #N/A。而TOCOL函数中添加参数2,可以忽略错误值,从而提取到非空单元格对应的人名。

第二步:提取考试科目

在B2单元格输入以下公式:

💡

=TOCOL(IF(F2:K5="",NA(),F1:K1),2)

和第一步一样样的逻辑,提取每个非空单元格中分数对应的不同考试科目。

第三步:提取得分

在C2单元格输入以下公式:

💡

=TOCOL(F2:K5,3)

这一步应用TOCOL,提取所有分数提取出来,忽略空单元格即可。

应用完以上三个公式完成后,一简一维表就自动生成了。现在我可以轻松地回答各种问题:口语平均分是多少?哪位同学需要加强阅读训练?所有答案都触手可及。

三、场景再现二

2.1 需求描述

平时我会记录每位学生的课堂表现、作业完成情况和期中考试成绩。这些记录以流水账的形式保存在一个工作表中:

到了期末,我需要给每位家长发送一份成绩单,上面要清晰展示每个学生在各环节上的表现。而家长们习惯于看到下面这样的二维表格:

这种格式就像一份精心编排的课程表,一目了然。如何实现上面的一维表向二维表的转化呢?

2.2 解决办法

这时,我们就要请出大名鼎鼎的PIVOTBY函数,它可以轻松实现表格数据的转换。

假设课堂记录在A2:C13区域,在任意空白单元格输入:

💡

=PIVOTBY(A2:A13,B2:B13,C2:C13,SUM,0,0,,0,,,0)

这个公式的意思就是:以A列的姓名为行,以B列的科目为列,将C列的得分填入对应的交叉单元格中,遇到重复数据就用SUM求和合并,最终生成一张二维成绩表。

PIVOTBY是WPS中用于将一维表转换为二维表的函数,共包含11个参数。它的基本语法如下:

💡

=PIVOTBY(行字段, 列字段, 值, 函数, [标题], [行总计深度], [行排序顺序], [列总计深度], [列排序顺序], [筛选数组], [相对关系])

应用完PIVOTBY函数后,效率瞬间提升百倍,学生各个环节的量化成绩都一目了然地展现出来,就像一份精心准备的成绩报告单,可以直接发给家长使用。

四、写在最后

函数学习贵在规则和灵活运用。TOCOL和PIVOTBY这两个函数是不同维度表格转化的最佳函数。TOCOL擅长将宽泛的二维表转化为简洁的一维表,适合需要深入分析的场景;PIVOTBY则善于将零散的一维表归纳成清晰的二维表,适合需要直观展示的场景。掌握这两个函数,就能够在一维表和二维表之间进行自如切换。

还等什么,快去练习一下吧!

【金山文档 | WPS云文档】 一维表格与二维表格互转

https://www.kdocs.cn/l/cn80M6124nCn

2026年文章列表

WPS办公技巧:多工作表自动汇总与拆分

WPS助力四六级备考: 破解听说读写译难题

一键卸妆:WPS表格样式太复杂?这样操作立刻恢复极简风

TOCOI+DROP+FILTER+COUNTIF筛选只住一个人的学生宿舍

GROUPBY+HSTACK组合:让补考信息统计事半功倍

建议增加WPS社区访问入口

WPS多维表自动化流程失败问题排查与解决

WPS表格序号自动填充的四种方法,最后一种你可能没用过

打造专业模板:WPS文字型窗体域实战指南

职场小白如何一键安装Windows系统

WPS多维表搭配Python脚本实现信息定时群发

WPS多维表+AI:化解燃气表截图批量收集、识别和计算难题

WPS知识库建设与应用——以WPS多维表知识库为例

视频教程:批量下载公众号内图片并转化为高质量PDF技巧

告别人工评阅!WPS多维表构建英语作文AI智能评分平台

WPS单元格中如何分别设置中英字体为不同字号

OFFSET动态可视化:WPS表格灵活提取多行多列数据

WPS表格中快速实现双语语料上下/左右格式互换

WPS官方公众号、视频号、小程序汇总

视频教程:如何在WPS和OFFICE中插入网址二维码

一网打尽!WPS表格序号添加的12种方法

让WPS软件起飞——配置优化技术盘点

WPS在语料双语对齐中的应用

2025年文章列表

https://www.kdocs.cn/l/ckbnQ4H0SlgU

河南省
浏览 506
2
15
分享
15 +1
7
2 +1
全部评论 7
 
丁功令
丁功令 KVP

创作者俱乐部成员

李老师,场景再现一,可以用如下的一个公式代替,你看一下可以吗? =VSTACK({"姓名","科目","成绩"},SORT(LET(x,B2:G5<>"",HSTACK(TOCOL(IF(x,A2:A5,0/0),3),TOCOL(IF(x,B1:G1,0/0),3),TOCOL(IF(x,B2:G5,0/0),3))),{1,2},{-1,1}))
· 四川省
1
回复
李攀登
太强了,丁老师,看的我眼花缭乱的。
· 河南省
1
回复
 
Mustang
最近也是看到TOCOL函数,旦还没来得及学习实践,感谢李老师
· 贵州省
1
回复
李攀登
确实好用,一起学起来。
· 河南省
1
回复
 
HC.旋
跟李老师学数据转换
· 福建省
1
回复
 
马成功老师
马成功老师 KVPWPS函数专家

创作者俱乐部成员

为无私奉献的 李老师 点赞
· 北京
1
回复