表内随机选取一个非空单元格的数值
如图,A1:F15内有各项数值,要求在H1内显示:
随机抽取表中任意有数值的单元格并显示。例:g1,g2,g4
求问:应该用哪个函数?
=LEFT(RIGHT(TEXTJOIN(,1,A1:F1),RANDBETWEEN(1,6)*2),2) =indirect(text(small(if(a1:f15>0,row(1:15)*10+column(a:f)),randbetween(1,counta(a:f))),"r0c0"),) 好像出现了错误,显示#NAME? 谢谢大佬,数组可以使用,如果还要加一点难度,数据区域为两块怎么处理呢?
比如:B5:M79和O5:X82 ,两个区域内随机抽取一个非空数据,应该怎么加入? H1=INDEX(T(OFFSET($A$1,ROW($1:$75)/6,MOD(ROW($1:$75)+4,5))),SMALL(IF(T(OFFSET($A$1,ROW($1:$75)/6,MOD(ROW($1:$75)+4,5)))<>"",ROW($1:$75),4^8),RANDBETWEEN(1,COUNTA($A$1:$E$15))),)
数组三键 谢谢大佬,数组可以使用,如果还要加一点难度,数据区域为两块怎么处理呢?
比如:B5:M79和O5:X82 ,两个区域内随机抽取一个非空数据,应该怎么加入? 还有,如果不用数组公式的话,有其他函数可以代替吗?比如数据量过大,用数组每次进入都要卡顿很久的情况下 还有,如果不用数组公式的话,有其他函数可以代替吗?比如数据量过大,用数组每次进入都要卡顿很久的情况下 =INDIRECT(TEXT(SMALL(IF((B5:X82>0)*((ROW(5:82)<80)*(COLUMN(B:X)<14)+(COLUMN(B:X)>14)),ROW(5:82)/1%+COLUMN(B:X)),RANDBETWEEN(1,COUNTA(B5:M79,O5:X82))),"r0c00"),)