Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 谷歌表单列表中的随机单元格_Google Sheets_Google Sheets Formula - Fatal编程技术网

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<>"")}