使用函数统计指定数字的个数_Power Query统计一串数字中大于3的数字之间3的个数...

本文介绍了一种在数字序列中统计大于特定数值(如3)的数字间目标数值(如3)出现次数的方法。使用PowerQuery进行数据处理,通过一系列步骤实现剔除小于特定值的数字,并对剩余数字进行标记,最终统计出所需结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给定的一串数字中统计出大于3的数字之间3的个数:

d578bfbe29a7b49b1c8368781955c229.png

我们用剔除法,先是剔除小于3的数字,只保留3以及大于3的数字,然后找出大于3的数字的位置,通过位置进行统计,我们需要在结尾添加一个位置,来补齐。

我们来看Power Query中的具体操作:

建一个参数,存储这一串数字:

15b3239a3d50b56eada7d9c31abfb0c1.png

然后建立一个空查询,开始我们的计算过程:

第一步是要把这串数字分成单个的列表:

=Text.ToList(a)

9a134dff5298208d7a61b2ddda9e7732.png

然后我们在这个列表的基础上,剔除小于3的数字,并区分3与大于三的数字:

8d1eff3309d882434071f7b6e118824e.png

我们用了一个循环判断语句:

= List.Transform(

Text.ToList(a),each if Number.From(_)<3 then null else if Number.From(_)=3 then 1 else 0)
  • 让小于3的为null
  • 等于3的为1
  • 大于3的为0

因为Text.ToList分解出来的是文本,需要用Number.From转换成数字才能比较,然后我们用List.RemoveNulls函数去除null:

a2abc721adad89a69185217a8cefe7e4.png

就得到了我们想要的初步结果,当然这个结果我们也可以用别的函数做出来:

List.ReplaceMatchingItems+List.RemoveItems

= List.ReplaceMatchingItems(

List.RemoveItems(Text.ToList(a),{"0".."2"}),{{"3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值