【菁培函高班PK】顺序兑奖

现有如下需求:在A列有一列兑换码,右侧需要根据兑换码的券的数量来兑换相应数量的兑换码。需要使用函公式完成。

例如:

兑奖人1有一张券,他兑换的就是兑换码1。兑奖人2有2张券,他兑换的就是兑换码2和3,以此类推...根据先来先得的原则,到人员10的时候,其实兑换码就不够了,之后的人员已无兑换码可以兑换。

相关案例完整文件:

【金山文档】 菁培函高班PK

河南省
浏览 1677
1
7
分享
7 +1
14
1 +1
全部评论 14
 
尹俊超
跟大家分享一下我的写法: =IF(TEXTJOIN(",",TRUE,OFFSET($A$1,SUM($D$2:D2),,-D2))="","没有兑换码了!",TEXTJOIN(",",TRUE,OFFSET($A$1,SUM($D$2:D2),,-D2)))
   上海
举报
0
0
 
辛伟兴
一组接招! E2单元格公式如下: IF(COUNTA(A:A)-1<SUM(D$1:D1),"没有兑换码了!",TEXTJOIN(",",1,OFFSET($A$2,SUM(D$1:D1),0,D2,1))) 当A列后续继续补充兑换码时也可以很好地进行判断。由于需要获取多个单元格的内容,此处优先考虑了offset来完成,offset也可以很好地获取区域内的内容且以数组的形式呈现。
   河南省
举报
2
1
尹俊超
· 上海
举报
0
0
 
邓华
=IF(COUNT(D$2:D2)>10,"没有兑换码了!",TEXTJOIN(",",1,OFFSET($A$1,SUM($D$1:D1)+1,0,D2,1)))
   广东省
举报
1
3
拾光漫行
请问老师10从哪来的 怎么判断出来,而且感觉你这个有问题 如果前面全是1个,那人员11,人员12不就有兑换码了?但是你这么做就会显示没有兑换码
· 重庆
举报
0
0
 
Yhan
题解如下。思路分析:本题是一个引用问题,我们常见的一些引用函数有index、indirect等,由于本题需要连接多个元素,所以引用值也不止一个,考虑使用indirect函数。文本连接且有连接符,想到用textjoin函数。最后再进行计数判断即可解。
   四川省
举报
1
1
尹俊超
一点毛病没有
· 上海
举报
0
0
 
尹俊超
案例文件:https://www.kdocs.cn/l/cub6EHF4kxjO
   上海
举报
1
0
 
拾光漫行
连接失效 手动模拟个 =IF(SUM($D$1:D1)>19,"没有兑换码了",TEXTJOIN(",",1,OFFSET($A$1,SUM($D$1:D1)+1,0,D2)))
   重庆
举报
2
1
拾光漫行
野生菜鸟参战
· 重庆
举报
1
0
 
Yhan
文件打不开哟
   四川省
举报
1
1
尹俊超
再试一下:https://www.kdocs.cn/l/cub6EHF4kxjO
· 上海
举报
0
0