如何理解下方这个excel嵌套函数? 50
=CONCAT(IF(((ROW($1:$9)=RANDBETWEEN(1,9))*(COLUMN($A:$J)=RANDBETWEEN(1,9))),ROW($1:$9...
=CONCAT(IF(((ROW($1:$9)=RANDBETWEEN(1,9))*(COLUMN($A:$J)=RANDBETWEEN(1,9))),ROW($1:$9)*COLUMN($A:$J)&"/"&ROW($1:$9),""))
展开
2个回答
2022-07-31 · 知道合伙人软件行家
关注
展开全部
首先要知道,一个多行(ROW)乘以一个多列(COLUMN),得到一个ROW行×COLUMN列的矩阵
ROW($1:$9)——得到自然数1-9,这里是以行的形式出现,即数字之间用逗号分隔
RANDBETWEEN(1,9)——得到一个1-9之间的随机数。
ROW($1:$9)=RANDBETWEEN(1,9)
得到9个逻辑值,其中有一个,且只有一个是TRUE,其余都是FALSE。逻辑值以行的形式存在。
COLUMN($A:$J)=RANDBETWEEN(1,9)
与上面的分析相似,同样得到9个以列的形式存在的逻辑值。
同在两者相乘,如上述,得到一个9×9的矩阵,这个矩阵中,只有TRUE×TRUE的那一个得到值1,其余均为0。
这些0和1做IF中的条件,1相当于条件为真,0相当于为假。IF的第1参数就分析完毕。
再分析IF的第2参数,由两个&连接3个部分,前一部分,也是一个9行(数字1-9)乘以9列(数字1-9)的矩阵,相当于一个全乘法口诀表。第1行:1-9,第2行:2-18,等等;第2部分,一个斜杠,这里是表示除号;第3部分,ROW($1:$9),数字1-9。
这里有一点稍难理解些,3部分连接时,以前面数据最多的矩阵为准,连接的只一个数据(这里是第2部分,除号),矩阵每一个数据都和他连接;连接的只有1行号或1列时,行或列的数据个数要与矩阵的行数相对应。连接时,矩阵中每行对应依次连接。
现在IF的条件中只有一个1,就在9×9的“乘法口诀表”中对应位置取得数据,并连接了一个除号和所在行的行号数。得到了一个1位或2位数(1-81)除以1位数(1-9)的除法。而0的位置取IF的第3参数,没有空格的“空”,最后用CONCAT把这些“空”和除法连接起来,结果还是一个除法算式。
因为公式用IF条件中的1的位置是随机的。所以得到除法算式也是随机的。
如果把公式最后的一个ROW($1:$9)修改为随机数,如
RANDBETWEEN(3,9)
公式更灵活一些,除数就是一个3到9之间的随机数,而不是限制为矩阵中1所在行的行号数字。
ROW($1:$9)——得到自然数1-9,这里是以行的形式出现,即数字之间用逗号分隔
RANDBETWEEN(1,9)——得到一个1-9之间的随机数。
ROW($1:$9)=RANDBETWEEN(1,9)
得到9个逻辑值,其中有一个,且只有一个是TRUE,其余都是FALSE。逻辑值以行的形式存在。
COLUMN($A:$J)=RANDBETWEEN(1,9)
与上面的分析相似,同样得到9个以列的形式存在的逻辑值。
同在两者相乘,如上述,得到一个9×9的矩阵,这个矩阵中,只有TRUE×TRUE的那一个得到值1,其余均为0。
这些0和1做IF中的条件,1相当于条件为真,0相当于为假。IF的第1参数就分析完毕。
再分析IF的第2参数,由两个&连接3个部分,前一部分,也是一个9行(数字1-9)乘以9列(数字1-9)的矩阵,相当于一个全乘法口诀表。第1行:1-9,第2行:2-18,等等;第2部分,一个斜杠,这里是表示除号;第3部分,ROW($1:$9),数字1-9。
这里有一点稍难理解些,3部分连接时,以前面数据最多的矩阵为准,连接的只一个数据(这里是第2部分,除号),矩阵每一个数据都和他连接;连接的只有1行号或1列时,行或列的数据个数要与矩阵的行数相对应。连接时,矩阵中每行对应依次连接。
现在IF的条件中只有一个1,就在9×9的“乘法口诀表”中对应位置取得数据,并连接了一个除号和所在行的行号数。得到了一个1位或2位数(1-81)除以1位数(1-9)的除法。而0的位置取IF的第3参数,没有空格的“空”,最后用CONCAT把这些“空”和除法连接起来,结果还是一个除法算式。
因为公式用IF条件中的1的位置是随机的。所以得到除法算式也是随机的。
如果把公式最后的一个ROW($1:$9)修改为随机数,如
RANDBETWEEN(3,9)
公式更灵活一些,除数就是一个3到9之间的随机数,而不是限制为矩阵中1所在行的行号数字。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询