wps中PMC处理单条件与多条件筛选查询技巧
在PMC的工作环境中,数据分析是一项频繁进行的任务。为了在不影响原始表格数据的前提下,一个常用的方法是在新表格中利用筛选函数进行单条件或多条件的数据筛选。针对各异的数据集,所需筛选的条件亦存在差异。有的情形仅涉及一至两个筛选条件,而在一些复杂度较高的场景中,筛选条件的数量可能远超五个,呈现出多维度、多层次的特点。
今日,古老师将以具体案例剖析,在面对各类筛选条件时,如何选取最为适宜的方法以实现最优数据筛选。特别是对于多条件筛选场景,他将重点解读一种效率极高的筛选思路。
单条件筛选
单条件筛选是FILTER函数的基础应用之一。借助该函数及其参数设定,可迅速筛选出满足特定条件的数据子集。以下为此函数的具体应用示例:
=FILTER(B5:E16,C5:C16=G2)
解释如下:
数组:指明待筛选并最终显示的范围,此处为B5:E16,涵盖“日期”、“订单”、“产品”及“数量”四列数据。
包括:定义筛选依据的判断条件。在本例中,条件区域为C5:C16(即“订单”列),判断逻辑为“=G2”。这意味着仅保留订单列中与G2单元格内容(即“PO-1”)相等的行。
执行上述函数后,得到的筛选结果如附图所示。
多条件筛选
单条件筛选与多条件筛选在使用FILTER函数时的主要差异体现在第二个参数,即“包括”部分。进行多条件筛选时,各筛选条件间采用特定格式连接,具体如下:
或多条件:
=FILTER(数组,(条件1区域=条件1) + (条件2区域=条件2) * ……)
此处,各筛选条件以“条件区域=条件值”的形式表示,并通过符号“+”(逻辑加)连接。这意味着只要满足其中任何一个条件,相关数据行即会被筛选出来。
=FILTER(B5:E16,(C5:C16=G2)+(C5:C16=H2))
此公式旨在筛选出B5:E16范围内,满足以下条件的数据行:
C列订单列中订单等于G2(PO-1) 或者订单等于H2(PO-1)
通过在“包括”部分使用逻辑加(“+”)连接两个单条件筛选表达式 (C5:C16=G2) 和 (C5:C16=H2),实现对订单列中订单为“PO-1”(由G2单元格提供)或“PO-1”(由H2单元格提供)的数据行进行筛选。
效果如下图所示:
并多条件:
=FILTER(数组,(条件1区域=条件1) * (条件2区域=条件2) * ……)
各筛选条件同样以“条件区域=条件值”的形式表述,但各条件间采用符号“*”(逻辑乘)连接。在这种情况下,只有当所有条件均得到满足时,对应数据行才会被筛选出来。
=FILTER(B5:E16,(C5:C16=G2)*(E5:E16<H2))
此公式旨在筛选出B5:E16范围内,满足以下条件的数据行:
C列订单列中订单等于G2(PO-3) 并且E列数量列小于H2(50)的数量
通过在“包括”部分使用逻辑乘(“*”)连接两个单条件筛选表达式 (C5:C16=G2) 和 (E5:E16<H2),实现了对订单列中订单为“PO-3”且数量列中小于50的数据行进行筛选。最终筛选结果将只包含订单列中订单为“PO-3”且数量小于50的数据记录。
效果如下图所示:
说明如下:
数组:同前,指定待筛选的数据范围。
包括:在多条件筛选中,根据实际需求选用上述两种逻辑组合方式之一,构建相应的条件表达式。第一种表达式适用于“或关系”筛选(满足任一条件即可),第二种表达式适用于“与关系”筛选(需同时满足所有条件)。
超多条件筛选
当筛选条件数目超过五个时,继续沿用上述FILTER函数的条件表达式格式,即:
=FILTER(数组,(条件1区域=条件1) * (条件2区域=条件2) * ……);
无论采用“或”逻辑还是“并”逻辑,都会导致“包括”部分的条件列表变得极为冗长,不利于阅读与维护。因此,在处理超多条件筛选问题时,有必要调整“包括”条件的编写方式,以实现更简洁、高效的筛选表达。
以下为对5个条件进行“或”筛选的过程,目标是筛选出订单列中订单为“PO-7”、“PO-2”、“PO-3”、“PO-4”或“PO-5”的结果。为便于理解,我们将分步展示运算步骤:
构建对比矩阵:
订单列:取自C2:C16,确保在垂直维度上排列。
条件列:取自C2:G2,确保在水平维度上列出所有待筛选订单(“PO-7”、“PO-2”、“PO-3”、“PO-4”、“PO-5”)。
对比公式:=C5:C16=C2:G2,此公式将订单列与条件列进行逐元素比较,生成一个二维逻辑数组,其中元素值为TRUE或FALSE,表示对应订单是否符合指定条件。TRUE代表满足;
在得到上述逻辑值数组之后,确实不能直接用于某些数学或统计运算。为实现逻辑值到数值的转换,可以使用WPS中的N函数:
=N(C5:C16=C2:G2)
此函数将把先前得到的逻辑值数组(TRUE/FALSE)转化为对应的数字值(1/0)。具体来说,对于逻辑数组中的每个元素,若为TRUE,则转换为1;若为FALSE,则转换为0。这样,我们就得到了一个同样大小的数值数组,效果如下图所示:
在使用筛选函数时,确实无法直接将一个二维逻辑数组作为“包括”参数。为解决这一问题,可以将二维数组转换为一维数组,以便于后续与FILTER函数配合使用。这里推荐使用WPS中的BYROW函数结合LAMBDA匿名函数实现数组求和:
=BYROW(N(C5:C16=C2:G2),LAMBDA(X,SUM(X)))
或者直接简写:
=BYROW(N(C5:C16=C2:G2),SUM)
效果如下:
至此,我们已成功将二维逻辑数组转换为一维数组,便于后续与FILTER函数配合,进行订单筛选。接下来,只需将该一维数组作为FILTER函数的“包括”参数。
录入以下函数:
=FILTER(B5:E16,BYROW(N(C5:C16=C2:G2),SUM))
即可得到一个基于“或”逻辑的五条件筛选结果。该函数将筛选出B5:E16范围内,订单列(C列)中订单至少符合“PO-7”、“PO-2”、“PO-3”、“PO-4”或“PO-5”中任意一个条件的行。
思路总结:
N(C5:C16=C2:G2):将订单列与条件列进行逐元素比较,生成一个二维逻辑数组,并通过N函数将其转化为数值形式(1代表TRUE,0代表FALSE)。
BYROW(N(C5:C16=C2:G2), LAMBDA(X, SUM(X))):对上述二维数组逐行求和,生成一个一维数组。数组中的每个元素值表示对应订单行是否至少符合一个筛选条件(非零值表示至少符合一个条件,0表示不符合任何条件)。
FILTER(B5:E16, BYROW(N(C5:C16=C2:G2), LAMBDA(X, SUM(X)))):利用FILTER函数筛选B5:E16范围内,订单列中订单符合一维数组中非零元素所对应条件的行,即至少符合一个筛选条件的订单数据。
效果如下图所示:
以上就是PMC中的单条件与多条件筛选技巧与案例剖析,希望大家喜欢,请继续关注电脑系统之家。
WPS函数VSTACK和HSTACK怎么用 wps实现表格的一键变形转换的技巧
最新推荐
-
360浏览器热点资讯怎么关闭 360热点新闻弹窗如何关闭
[db:摘要]
-
win10电脑右侧预览窗格怎么关闭 win10文件夹右边预览取消
win10电脑右侧预览窗格怎么关闭?在win10系统中,文件预览窗格可以让用户在文件资源管理器中快速查看文 […]
-
华硕bios如何设置固态硬盘启动 华硕主板bios第一启动项设置
华硕bios如何设置固态硬盘启动?固态硬盘相比机械硬盘,具有更快的读写速度和更好的稳定性。通过设置启动项, […]
-
win10电脑怎么设置默认打印机设备 打印机设为默认打印机
win10电脑怎么设置默认打印机设备?在Win10系统中设置默认打印机,可以方便在打印文档时能够直接使用指 […]
-
华硕win10vt虚拟化怎么开 华硕电脑vt开启教程win10
华硕win10vt虚拟化怎么开?VT即虚拟化技术,启用VT功能能够显著提升虚拟机的性能和兼容性。而且也支持 […]
-
为什么edge打开是空白页 edge浏览器打开是空白页怎么恢复正常
edge浏览器打开是空白页无法加载怎么办?最近有一些用户反映这个问题,在使用edge浏览器的时候,发现打开网页是空白加载不出来,这应该怎么去解决呢?针对这一问题,本篇带来了edge浏览器打开是空白页的详细解决方法,希望可以帮助到需要的小伙伴。
热门文章
360浏览器热点资讯怎么关闭 360热点新闻弹窗如何关闭
2win10电脑右侧预览窗格怎么关闭 win10文件夹右边预览取消
3华硕bios如何设置固态硬盘启动 华硕主板bios第一启动项设置
4win10电脑怎么设置默认打印机设备 打印机设为默认打印机
5华硕win10vt虚拟化怎么开 华硕电脑vt开启教程win10
6为什么edge打开是空白页 edge浏览器打开是空白页怎么恢复正常
7edge网站不安全不让进怎么办 Edge浏览器禁止网页跳转
8联想拯救者如何切换显卡模式 拯救者在哪里切换显卡模式
9360浏览器一打开就是2345的网页怎么改
10谷歌浏览器打开就是百度的解决方法
随机推荐
专题工具排名 更多+