小程序开发资讯 Excel正则抒发式处理数据的一个实例 - Excel函数式编程

你的位置:武汉小程序开发 > 小程序开发公司价格 > 小程序开发资讯 Excel正则抒发式处理数据的一个实例 - Excel函数式编程
小程序开发资讯 Excel正则抒发式处理数据的一个实例 - Excel函数式编程
发布日期:2024-11-05 08:10    点击次数:123

图片

前两天咱们刚先容了正则抒发式函数,今天就遭逢了一个数据处理的本色问题。原本按照民风使用了其他步调,其后猜度不错用正则抒发式函数,就又处理了一遍。今天共享一下这个经过和处理步调,供全球参考。

问题

原始数据是这么的,

图片

要求也大致:

1. 索取每行的数据乞降

2. 将数据鼎新成底下的体式:

图片

分析

第一个需求如故很大致的,咱们前次先容的时期其实提到过。以第一瞥数据为例,

=REGEXEXTRACT(B2,"[0-9]+",1)

这个公式就不错索取其中的所少见据,

图片

接下来唯有将这个数组乞降就好了。因为这个函数成果是文本,不要忘了鼎新,

=SUM(--REGEXEXTRACT(B2,"[0-9]+",1))

然而第二个需求就复杂一些了。分析一下,需要作念如下的职责:

率先需要索取每一瞥数据中的那些字母(居品称呼),还需要索取其中的数字。

然后需要汇总这一瞥中居品称呼换取(字母换取)的那些数据,比如B4中的数据就需要将通盘的称呼为A的数据汇总到沿途。

经过前两步,咱们就依然将每行数据处理成了两个一瞥多列的数组,一个数组是居品称呼,另外一个数组是数据。比如关于B2单位格的数据来说,处理成果即是:{"D", "C"}{"69", "540"}接下来,咱们需要将通盘的数据褪色到沿途。

郭佳:01 03 04 08 13 16 19 29 33+03 05 12

一号球分析:上期开出奖号05,该位最近10期出现范围在01-07之间,中位号码为04,其中小于中位号码的奖号开出6次,大于中位号码的奖号出现3次,中位号码04开出1次,本期预计该位继续在中位号码以上出现,看好号码08。

第一步很大致,本色上咱们刚才依然作念了演示,不错将B列每个单位格的数据中的各居品数据取出。相似的步调也不错将各个字母取出,只不外模式字符串需要修改一下:

=REGEXEXTRACT(B2,"[A-Z]",1)

不外这里需要提醒一下,由于索取的数据构成的数组是多行数组,跟咱们需要的多列数组不一样。(鼎新很容易罢了,转置即可)

第二步自己也不复杂,有许多步调罢了,小程序开发比如不错使用GROUPBY函数罢了,不外探讨到还有第三步,这个步调无意好。

第三步多行褪色不错使用VSTACK函数。然而咱们不行径直使用,因为第一步处理完成后,各行数据中的居品称呼规章和个数无意换取。

这些处理就会比拟啰嗦。

是以咱们就修改一下罢了想路。

罢了想路

第一步不变,如故使用正则函数索取称呼和数据数组。

接下来,咱们增多一个标题行数组:{“A", "B", "C", "D"}

这里咱们只是用了数据中出现的四个字母,其实不错用SEQUENCE函数生成通盘的字母列表。这么通用性更强。

然后呢,咱们使用这个标题行数组的每一个元素对上头B列每一个数据取得来的两个数组进行条目乞降,比如,关于”A:

咱们计较B2中居品称呼 = "A"的所少见据之和。

由于SUMIF不行用于数组,是以咱们改用SUMPRODUCT:

=SUMPRODUCT(--(titleC = "A"), dataC)

其中,titleC是正则函数取得的居品称呼数组,dataC是取得的数据数组。

图片

咱们就不错取得B列数据每一瞥对应于标题行数组中每一个元素的数据。

于是就取得了成果表。

罢了

上头的经过显明不错使用MAKEARRAY函数应对罢了。

底下是罢了的公式:

=LET(    data, B2:B27,    title, {"A","B","C","D"},    VSTACK(title,        MAKEARRAY(ROWS(data), COLUMNS(title),            LAMBDA(r,c,                LET(                    name, INDEX(title, 1, c),                    dRow, INDEX(data, r, 1),                    titleC, REGEXEXTRACT(dRow,"([A-Z])",1),                    dataC, REGEXEXTRACT(dRow,"([0-9]+)",1),                    SUMPRODUCT(--(titleC = name), --dataC)                )            )        )    ))

其中第5~15行即是生成成果数据的罢了经过。

在MAKEARRAY中,证实面前的行,列(r,c),率先取出面前的居品称呼(第8行),面前的B列数据(第9行);

然后使用正则抒发式取出B列数据中的居品称呼数组和数据数组(第10,11行);

第15行进行条目乞降。

提醒

由于正则函数刚推出不久,看起来AFE对它的扶助不到位,是以上述公式要是写在AFE中,保存时会指示有问题。

处治决策是将这个公式写在公式剪辑栏中。

图片

虽然,不错在AFE中写完(这里更肤浅剪辑公式),然而不保存,而是复制到剪辑栏中。

图片

笃定商议客服(底部菜单-学问库-客服)

Excel+Power Query+Power Pivot+Power BI

appPower Excel 学问库    按照以下样式参加学问库学习Excel函数   底部菜单:学问库->Excel函数

自界说函数  底部菜单:学问库->自界说函数

Excel怎样作念  底部菜单:学问库->Excel怎样作念

面授培训  底部菜单:培训学习->面授培训

Excel企业利用  底部菜单:企业利用小程序开发资讯

也不错在历史著述中学习Excel,Power Query,Power Pivot,Power BI,Power Automate多样期间。 本站仅提供存储劳动,通盘内容均由用户发布,如发现存害或侵权内容,请点击举报。