【社区答疑】通过WPS表格的函数完成表格最终需求(三)
WPS函数专家
要想下班早,表格必须用的好!
大家好,我是张俊。
⭐场景
关于社区中求独立表格中按照球员姓名查询已参加的比赛的帖子答疑,第三节来了。
第二节:【社区答疑】通过WPS表格的数据透视表转换表格结构(二)
通过前两节的学习看,相信大家已经完全了解为什么要更改表格形态,掌握了如何将二维表通过透视表转换为一维表,接下来我们来设计最终表格样式、使用函数完成需求和通过条件格式美化表格。
一、设计最终表格样式
关键步骤:
在I1单元格录入“参赛球员”,在J1单元格设置下拉菜单,包含所有球员的姓名(要不重复的哦)
将A1:G1的标题行复制到I3:O3单元格区域,然后在下面设置单元格边框,可以任意设置,也可以根据显示的数据表格设置,目前我是设置的I4:O27单元格区域共23行,大家可以根据实际情况设置,目前最多的球员可以出现5次
将I4:I26单元格区域设置为日期格式,也可以根据原始需求的日期格式,在自定义格式中输入“yyyy-m-d”来设定日期格式,J4:O27单元格格式为常规,I4:O27单元格区域设置上下居中,左右居中。
二、使用函数完成需求
选中I4:O27单元格区域,在编辑栏输入以下公式:
=FILTER($A$1:$G$37,($F$1:$F$37=$J$1)*($G$1:$G$37="参赛"))
然后三键结束(Ctrl+Shift+Enter),会得到如下效果:
为啥需要三键结束呢?为啥有这么多#N/A呢?
三键结束是以数组形式展示;之所以有这么多#N/A是因为公式中的结果返回太少(目前实例是前3行),因此后面不足的就会以#N/A来展示。但是只要动态数组功能上线后,这些问题就统统不存在了,也不需要三键结束了。<据可靠消息,动态数组会在今年9月底上线,届时我们可以在国庆节期间愉快的玩耍动态数组了~>
但是因为目前还没有上线,因此我们依然需要规避,因此就需要用INDEX和IFERROR函数来规避,因此依然选中I4:O27单元格区域,在编辑栏输入以下公式:
=IFERROR(INDEX(FILTER($A$1:$G$37,($F$1:$F$37=$J$1)*($G$1:$G$37="参赛")),ROW(A1),COLUMN(A1)),"")
然后按Ctrl+Enter结束,即可完成,如下图:
函数解析:
FILTER($A$1:$G$37,($F$1:$F$37=$J$1)*($G$1:$G$37="参赛"))
通过FILTER函数筛选A1:G37单元格区域的数据,需要满足F1:F37单元格的值为J1单元格的值(图中为“马超”的球员)并且G1:G37单元格为“参赛”的数据,函数返回是以数组结果呈现的。
INDEX(xx,ROW(A1),COLUMN(A1))
xx为FILTER函数结果,正是因为以数组形式,因此需要在每个单元格里展示,就需要通过INDEX函数来在每个单元格逐个展示,ROW函数和COLUMN函数,就是返回对应位置的指定行指定列的值。
=IFERROR(yy,"")
yy为INDEXT函数结果,正是因为超出区域一样会返回#N/A,因此需要通过IFERROR函数规避错误,将显示#N/A的单元格返回为空白。
注:
预计9月底上线了动态数组功能,就再需要三键结束,也不需要使用IFERROR和INDEX函数来帮助处理了。
三、通过条件格式设置
- 设置结果条件格式颜色
选中K4:K26单元格区域,点击“开始”—“条件格式”—“突出显示单元格规则”—“等于”中分别设置“胜”为绿色、“负”为红色、“平”为灰色。
设置后效果图如下:
- 设置动态边框条件格式
关键步骤:
选中I4:O26单元格区域设置边框为“无边框”
点击“开始”—“条件格式”—“新建规则”—“使用公式确定要设置格式的单元格”中输入公式:=$I4<>""
点击“格式”,设置“外边框”
最终效果图如下:
🚩 | 练习文件:👉球员信息筛选👈 |
关于帖子答疑的系列地址:
往期优秀帖子推荐:
WPS函数专家