这题会一种解的有80%;两种的50%;仨全会的不到1.5%了!

发布日期:2024-07-22 06:56    点击次数:126

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

【置顶公众号】或者【设为星标】及时接收更新不迷路

图片

小伙伴们好,今天来和大家分享一道有意思的题目。根据给定的数值,来拆分一个比较大的值,并生成多行数据。这个类型的题目在现实工作中是会遇到的,就让我们一起来看看吧。

原题目是这样子的:

图片

题目要求以50为给定值,将左侧的数据结构变更为右侧的结构。实际上就是以50为一档,连续来拆分左侧的数据,直至剩余数据小于50为止。

01

先来看D列。

图片

在单元格D2中输入下列公式,三键回车并向下拖曳即可。

=INDEX(A$2:A$8,SUM(1,N(ROW(A1)>MMULT(N(ROW($1:$7)>=COLUMN($A:$G)),-INT(-$B$2:$B$8/50)))))

思路:

-INT(-$B$2:$B$8/50)部分,这个操作实现了向上取余。它等同于INT($B$2:$B$8/50)+1

N(ROW($1:$7)>=COLUMN($A:$G))部分,形成下面这样一个结构。

图片

MMULT(N(ROW($1:$7)>=COLUMN($A:$G)),-INT(-$B$2:$B$8/50))部分,其结果为{2;4;6;9;15;16;17},这个正是D列中字母个数逐次累加的结果

N(ROW(A1)>MMULT(N(ROW($1:$7)>=COLUMN($A:$G)),-INT(-$B$2:$B$8/50)))部分,再做一个比较,并通过N函数将TRUE转换为1,FALSE转换为0

SUM(1,N(ROW(A1)>MMULT(N(ROW($1:$7)>=COLUMN($A:$G)),-INT(-$B$2:$B$8/50))))部分,随着公式向下拖曳,ROW(A1)的值也逐渐增大。当在第1、2行时,N函数返回的结构都是0,所以SUM函数结结果就是1;当在第3、4行时,由于3和4都大于2,所以N函数返回的结果中有一个1,因此SUM函数的结果就是2。后面的依次类推。这个这部分将作为INDEX函数的第二参数

最后,利用INDEX函数来返回正确的答案

再来看看E列。

图片

在单元格E2中输入下列公式,并向下拖曳即可。

=IF(COUNTIF(D$2:D2,D2)<COUNTIF(D:D,D2),50,VLOOKUP(D2,A:B,2,)-COUNTIF(D$1:D1,D2)*50)

由于这是一个简单的IF函数逻辑判断,这里就不再详细讲解了。朋友们如果有疑问可以私信我哦!

02

下面我们试着用另一个技巧来解决这个问题。

图片

在单元格D2中输入下列公式,三键回车并向下拖曳即可。

=INDEX(A:A,SMALL(IF(INT($B$2:$B$8/50)+1<COLUMN(A:W),100,ROW($A$2:$A$8)),ROW(A1)))

思路:

IF(INT($B$2:$B$8/50)+1<COLUMN(A:W),100,ROW($A$2:$A$8))部分,INT函数取整后和COLUMN(A:W)比较。这个和上面介绍的的思路是一致的。利用IF函数返回不同的结果

SMALL函数依次提取第1、2、3..小的数值

INDEX函数返回正确答案。

这个技巧我们在以前的推文中有过多次的介绍了,如果朋友们还不是很清楚,可以参看相关的文章或者私信我。

下面来看E列。

图片

在单元格E2中输入下列公式,并向下拖曳即可。

=MIN(50,VLOOKUP(D2,A:B,2,)-COUNTIF(D$1:D1,D2)*50)

公式很简单,不再赘述了。

03

最后给大家贴一个彩蛋,一条公式来完成这个题目。

图片

在单元格D2中输入下列公式,三键回车并向下拖曳即可。

=IFERROR(INDEX(IF({1,0},A:A,50-ROW(1:50)+1),MID(SMALL(IF(B2:B666>(COLUMN(A:W)-1)*50,ROW(10002:10666)/1%%+DDB(COLUMN(A:W)*50,B2:B666,1,1)+1),ROW(1:888)),{2,6},4),{1,2}),"")

公式比较复杂,看看了解一下就好啦!

本期内容练习文件提取方式:

链接:https://pan.baidu.com/s/1q9mbD-hjMtsoHyfqmUHM-A?pwd=shwy

提取码:shwy

好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

图片

推荐阅读

将数字拆分后求和的方法二三例

自从用了阶梯分析法,再也不怕算电费!

LOOKUP(1,0/(条件),(查询区域))这个公式到底该怎么用?

在上万条数据中根据摘要查找项目名称,说实话,我有些头大!

巧用中学时的数学知识,精妙构思套路解决怪异问题!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。