Google sheets 谷歌表单列表中的随机单元格
样品 代码:Google sheets 谷歌表单列表中的随机单元格,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,样品 代码: =ArrayFormula((VLOOKUP(查询(唯一)(randbween(行(间接的)(A1:A)和COUNTA(A:A)*10))^0;COUNTA(A:A));“限制4”);{ROW(间接的(A1:A)和COUNTA(A:A));过滤器(A:A;A:A)};2;0))) 我试过了,但有个错误 测试1 谁能告诉我出了什么事?来制作我的代码 如第一幅图所示 #REF中有错误! VLOOKUP的计算超出范围界限 我尝试更改代码 =ArrayFormula((VLOOKUP(
=ArrayFormula((VLOOKUP(查询(唯一)(randbween(行(间接的)(A1:A)和COUNTA(A:A)*10))^0;COUNTA(A:A));“限制4”);{ROW(间接的(A1:A)和COUNTA(A:A));过滤器(A:A;A:A)};2;0)))
我试过了,但有个错误
测试1
谁能告诉我出了什么事?来制作我的代码
如第一幅图所示
#REF中有错误!
VLOOKUP的计算超出范围界限 我尝试更改代码
=ArrayFormula((VLOOKUP(QUERY(UNIQUE(RANDBETWEEN(ROW(INDIRECT("A1:A"&COUNTA(A:A)*10))^0,COUNTA(A:A))),"limit 4"),{ROW(INDIRECT("A1:A"&COUNTA(A:A)));FILTER(A:A,A:A<>"")},1,0)))
=ArrayFormula((VLOOKUP(查询(唯一(randbween)(行(间接(“A1:A”)和COUNTA(A:A)*10))^0,COUNTA(A:A)),“限制4”),{ROW(间接(“A1:A”和COUNTA(A:A));过滤器(A:A,A“)},1,0)))
但是数量
解决方案是什么
=ARRAYFORMULA(VLOOKUP(FLOOR(RANDARRAY(5)*COUNTA(A2:A)),{SEQUENCE(COUNTA(A2:A),1,0),A2:INDEX(A2:A,COUNTA(A2:A))},2))
- 使用
在randary
(含)和0
(即A2:A
)中的条目数之间创建COUNTA
随机整数(不含)5
- 创建一个人工并排数组(
),该数组包含{arr1,arr2}
(从序列
)和0
A2:a中的实际值
创建的人工数组中的随机整数,以给出VLOOKUP
A:A中的随机值
,
({arr1\arr2}
)
关于第一个公式
{ROW(INDIRECT("A1:A"&COUNTA(A:A)));FILTER(A:A;A:A<>"")}
{ROW(间接(“A1:A”&COUNTA(A:A));FILTER(A:A;A:A”)}
替换分号在INDIRECT()
和FILTER()
之间使用反斜杠\
,因为使用分号将FILTER的结果附加到INDIRECT的结果中,但您希望将每个函数的结果放在各自的列中。请注意,此公式使用分号作为参数分隔符
在第二个公式中,替换分号在INDIRECT()
和FILTER()
之间使用逗号,
(并将VLOOKUP
的第三个参数1替换为2。请注意,此公式使用逗号作为参数分隔符
解释
- 在使用点作为十进制分隔符(
=SUM(1,2,3)
)的电子表格上,逗号用作参数分隔符,但在数组上也使用逗号作为列分隔符({“a”,“b”}
)
- 在使用逗号作为十进制分隔符的电子表格上,分号用作参数分隔符(
=SUM(1;2;3)
)。在这些电子表格上,反斜杠用作数组上的列分隔符({“a”\“b”}
)
参考资料
错误描述是什么?(在红色三角形上传递mointer)。另外,按照中的建议,添加对您的搜索/研究工作的简要描述。VLOOKUP的评估超出了范围。我认为您进行了互换。分号按原样放置。逗号改为\@TheMaster谢谢。我对措辞做了一点更改。@IndraRoyalSilver我想您的意思是您接受了另一个答案,因为它包括des是一个完整的公式。这很好。@TheMaster我回答的第一部分是关于应该对OP公式进行的更改:)@TheMaster没问题。有时我会将简洁运用到极端:感谢对我答案的反馈:)
=ARRAYFORMULA(VLOOKUP(FLOOR(RANDARRAY(5)*COUNTA(A2:A));{SEQUENCE(COUNTA(A2:A);1;0)\A2:INDEX(A2:A;COUNTA(A2:A))};2))
{ROW(INDIRECT("A1:A"&COUNTA(A:A)));FILTER(A:A;A:A<>"")}