找回密码
 立即注册
搜索
楼主: 松佑

对应姓名查找一定范围的内容随机不重复录入?

27
回复
2167
查看
[复制链接]

2

主题

6

帖子

4

幻币

初入江湖

Rank: 1

积分
14
2022-1-21 17:15:01 显示全部楼层
非常感谢您的热心帮助!很完美,高效,不卡顿。
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

9

帖子

1

幻币

初入江湖

Rank: 1

积分
8
2022-1-22 12:16:23 显示全部楼层
B1下拉
=INDEX(OFFSET(Sheet2!C$1,MATCH(A1,Sheet2!A:A,)-1,,,14),IF(ROW(A1)=1,RANDBETWEEN(1,14),MOD(MIN(IF(MMULT(COLUMN(A:H)^0,COUNTIF(OFFSET(B2,-ROW(A1),):OFFSET(B2,-2,),Sheet2!C$1:P$8))=0,COLUMN(A:N),9^9)+RANDBETWEEN(ROW(1:14)^0,14)/1%),100)))
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

8

帖子

-2

幻币

初入江湖

Rank: 1

积分
1
2022-1-24 19:29:26 显示全部楼层
非常感谢奇文说的热心帮助,切实可行高效! 如果有时间的话,再帮我看看,如果表二的原始数据不是均匀的14列,有的是8列,有的9列,有的是17、18、20列不等,如果表一姓名出现的次数超过表二原始数据的个数,则重复为正常,要如何更改?
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

7

帖子

1

幻币

初入江湖

Rank: 1

积分
9
2022-1-31 03:05:55 显示全部楼层
S2 下拉{=VLOOKUP(R2,A:P,SMALL(IF(COUNTIF(S$1:S1,VLOOKUP(R2,A:P,COLUMN(C:P),))=0,COLUMN(C:P)),RANDBETWEEN(1,15-COUNTIF(R$2:R2,R2))),)
A12{=AND(COUNTIF(S:S,C1:P1)=1)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

幻币

初入江湖

Rank: 1

积分
0
2022-2-1 20:52:23 显示全部楼层
很感谢hcm19522的耐心解答,把过程简化的一目了然,聪明。很好用。也是同样的补充问题,就是原数据,不是均匀的14列,即A1至A14,B1至B14……H1至H14,有的是7列,有的8列,有的20、21列这样子,要怎么修改?谢谢
PPT学习论坛
回复 支持 反对

使用道具 举报

3

主题

9

帖子

6

幻币

初入江湖

Rank: 1

积分
20
2022-2-2 10:44:13 显示全部楼层
很感谢hcm19522的耐心解答,非常好用。同时把过程简化了让人看了一目了然。同样补充的问题就是:就是原始数据A1至H14,不是均匀的14列,如张三的可能是只有A1至A8,李四的可能是B1至B12,郑十的为H1至H22,总之就各个列数是在7列至23列之间,如果姓名出现的次数超过数据的个数,则重复为合理正常。该如何修改?
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

4

帖子

-1

幻币

初入江湖

Rank: 1

积分
2
2022-2-13 13:15:19 显示全部楼层
公式又长了好多,还是下拉。要是不顶行,公式能短不少。。。这个顶行浪费了我好多字符!=INDEX(Sheet2!C$1:P$8,MATCH(A1,Sheet2!A:A,),IF(ROW(A1)=1,RANDBETWEEN(1,7),MOD(MIN(IF(MMULT(COLUMN(A:H)^0,(COUNTIF(OFFSET(B2,-ROW(A1),):OFFSET(B2,-2,),Sheet2!C$1:P$8)+(Sheet2!C$1:P$8=""))*(Sheet2!A$1:A$8=A1)),9^9,COLUMN(A:N))+RANDBETWEEN(COLUMN(A:N)^0,14)/1%),100)))
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-1

幻币

初入江湖

Rank: 1

积分
4
2022-2-17 09:59:32 显示全部楼层
如果能从第二行开始——如图,那么公式可以是:=INDEX(Sheet2!C$1:P$8,MATCH(A2,Sheet2!A:A,),MOD(MIN(IF(MMULT(COLUMN(A:H)^0,(COUNTIF(B$1:B1,Sheet2!C$1:P$8)+(Sheet2!C$1:P$8=""))*(Sheet2!A$1:A$8=A2)),9^9,COLUMN(A:N))+RANDBETWEEN(COLUMN(A:N)^0,14)/1%),100))

少了60多个字符!
7d694a09eead8a0e8bfea01a1132b78c.png
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

2

帖子

-1

幻币

东方不败

积分
-6
2022-2-17 16:22:06 显示全部楼层
辛苦了,感谢感谢!可以从第二行开始,实际应用时是从第二行开始的。我讲的可能有点绕,是这样的:就是那个表二原始数据,就是张三可能是没有14列,可能只有8列,而李四的可能是12列,……,郑十可能是23,就是原始数据每个不是均匀的14列,是在8列至23列之间。在表一的姓名出现的次数超过了原始数据个数的,就可以重复出现,就是如果表一姓名出现次数多于表二原始数据的个数,就可以让它重复出现填入,不知你听懂没,呵呵,如何更改?
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

6

帖子

1

幻币

初入江湖

Rank: 1

积分
8
2022-2-21 03:13:21 显示全部楼层
B1下拉
=INDEX(OFFSET(Sheet2!C$1,MATCH(A1,Sheet2!A:A,)-1,,,14),IF(ROW(A1)=1,RANDBETWEEN(1,14),MOD(MIN(IF(MMULT(COLUMN(A:H)^0,COUNTIF(OFFSET(B2,-ROW(A1),):OFFSET(B2,-2,),Sheet2!C$1:P$8))=0,COLUMN(A:N),9^9)+RANDBETWEEN(ROW(1:14)^0,14)/1%),100)))
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册