【案例分享学习】座位牌采购之函数SEQUENCE、TOCOL、REGEXP、GROUPBY妙用
公司安排采购座位号牌,如图所示,会议室座位排列图,要最大程度避免浪费采购🤖🤖🤖,就要计算出各个数字符号的有多少个,下面分享方法。
第一步,使用SEQUENCE函数还原座位牌号码排列"=SEQUENCE(23)&"-"&SEQUENCE(,11)"。
【SEQUENCE函数是生成一组连续的数字,这里分布根据座位多少排多少列生成了对应座牌号。】
第二步,对转化的数据进行处理,将所有座牌号使用CONCAT函数转化为字符,
"=CONCAT(SEQUENCE(23)&"-"&SEQUENCE(,11))"。
第三步,使用REGEXP正则函数将刚刚转化的字符串提取为单个字符,
=REGEXP(CONCAT(SEQUENCE(23)&"-"&SEQUENCE(,11)),"."),
=REGEXP(CONCAT(SEQUENCE(23)&"-"&SEQUENCE(,11)),"\d"),
这里有用了两种方式,一种座位牌需要“-”这个符号,一种不需要。
【PS:REGEXP正则函数后续有机会再分享给大家学习】😁
第五步,使用TOCOL函数将分离出来的字符行转化为列方便后续计算;
=TOCOL(REGEXP(CONCAT(SEQUENCE(23)&"-"&SEQUENCE(,11)),"."))。
最后一步,使用GROUPBY对分离过后的字符列进行计算,
=GROUPBY(TOCOL(REGEXP(CONCAT(SEQUENCE(23)&"-"&SEQUENCE(,11)),".")),TOCOL(REGEXP(CONCAT(SEQUENCE(23)&"-"&SEQUENCE(,11)),".")),COUNTA);
公式最后使用LET函数优化为:
=LET(x,TOCOL(REGEXP(CONCAT(SEQUENCE(23)&"-"&SEQUENCE(,11)),".")),GROUPBY(x,x,COUNTA))。
这个案例分享完毕,欢迎大家评论区交流分享。
江湖再见!🤓🤓🤓