高手来解决 |
除了发论坛,也可以用AI生成,修整几次应该就出来了。 |
太難了 |
ppll2030 发表于 2025-8-13 17:31 来学习下 |
谢谢楼主分享 |
高手学习。谢谢 |
双色球 |
其实,直接问deepseek或者千文,它会自动给你写好。现在懒人都这么做![]() |
都是人才啊,太复杂了! |
我也来练练手,好久没玩了。![]() 根据题目要求,数据在A、B两列,A列有效数据29行,B列有效数据7行, (1)从A列中,随机提取不重复4个数值,并输出; 在D2单元格中输入公式:=TRANSPOSE(INDEX(A1:A29,TAKE(UNIQUE(RANDARRAY(20,1,1,29,TRUE)),4))) (2)其次从B列中,随机提取一个数值,不能与上述D2:G2中提取的数值重复; 在H2单元格中输入公式:=INDEX(FILTER(B1:B7,COUNTIF(D2:G2,B1:B7)=0,""),RANDBETWEEN(1,ROWS(FILTER(B1:B7,COUNTIF(D2:G2,B1:B7)=0,"")))) 解题完成。 |
不会 帮顶 |
这种问题,你放到EXCEL论坛,几分钟就有人解答了! |
向Excel高手学习。谢谢! |
在Excel中提取A列中4个不重复的随机数,可以使用以下公式组合: 方法1(适用于Office 365/2021): excel Copy Code =INDEX(SORTBY(UNIQUE(A:A), RANDARRAY(COUNTA(UNIQUE(A:A)))), SEQUENCE(4)) 方法2(通用版本): excel Copy Code =INDEX(A:A, SMALL(IF(MATCH(A:A, A:A, 0)=ROW(A:A), ROW(A:A)), RANDBETWEEN(1, COUNTA(A:A)-ROW(A1)+1))) (需按Ctrl+Shift+Enter作为数组公式输入,然后向下拖动填充4个单元格) 注意事项: 确保A列至少包含4个不重复的值 方法2每次计算会重新生成随机数 |
怎么感觉像是买彩票选号的呢 |
你描述的情景也许是你自己设想的算法,但不一定是最好的算法,你可以把你的真实情景再说一遍,坛友们帮你把算法优化一下。 |
要用组合数据 |
本帖最后由 lbw2007 于 2025-8-13 12:28 编辑 这哪里是考公式,明显是在考算法。 需要Excel支持动态数组函数(如FILTER, LET, RANDARRAY等),一般是Excel 365/2021及以后版本。 若用的是老版本Excel,需要用VBA来实现。 首先A取的4个数字,在D1单元格输入数组公式(Excel 365/2021支持动态数组,直接回车;旧版本需要Ctrl+Shift+Enter): INDEX($A$1:$A$35, SORTBY(SEQUENCE(4), RANDARRAY(4))) 这会随机选4个A列不同数字(位置1-35)放在D1:G1。 从B列中选一个不在上述4个数字里的数字 在H1输入以下公式: =LET( selectedA, D1:G1, bValues, FILTER($B$1:$B$35, ISNUMBER($B$1:$B$35)), filteredB, FILTER(bValues, ISNA(MATCH(bValues, selectedA, 0))), INDEX(filteredB, RANDBETWEEN(1, ROWS(filteredB))) ) 从B列中随机选1个不同数字,不等于A列选的4个数字 |
路过而已! |
不会 帮顶 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.