Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/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 - Fatal编程技术网

Google sheets 使用谷歌表格组合/改进公式

Google sheets 使用谷歌表格组合/改进公式,google-sheets,Google Sheets,我正在尝试自动化我的谷歌表单,下面是我试图实现的一个例子。我在几列中使用了10+个公式。有没有可能把这些公式结合起来,或者有没有更好的方法 我目前使用的公式是: =ARRAYFORMULA(如果((A:A)>=1,B:B&“&”1&“/”&A2:A,)(如果用于删除列标题) 对于每种情况,我在多个列中使用了10多次 =FILTER({A:A;B:B;C:C;D:D;E:E;F:F;G:G;H:H}, LEN({A:A;B:B;C:C;D:D;E:E;F:F;G:G;H:H})) 用于将列组合

我正在尝试自动化我的谷歌表单,下面是我试图实现的一个例子。我在几列中使用了10+个公式。有没有可能把这些公式结合起来,或者有没有更好的方法

我目前使用的公式是:

=ARRAYFORMULA(如果((A:A)>=1,B:B&“&”1&“/”&A2:A,)
(如果用于删除列标题)

对于每种情况,我在多个列中使用了10多次

=FILTER({A:A;B:B;C:C;D:D;E:E;F:F;G:G;H:H}, LEN({A:A;B:B;C:C;D:D;E:E;F:F;G:G;H:H}))
用于将列组合在一起

=sort(AD:AD,1,true)
用于按字母顺序排序,查看是否有效

=sort(ArrayFormula(transpose(split(textjoin("|", 1, if(len(iferror(split(rept(A2:A&"/", B2:B), "/"))), A2:A6&" "&column(1:1)&"/"&vlookup(split(rept(A2:A&"/", B2:B), "/"), A2:B, 2, 0),)), "|"))), 1, 1)
改变射程以适应


如果数据集很长,您也可以尝试以下方法:


=ARRAYFORMULA(TRANSPOSE(替换)(查询(TRANSPOSE)(查询({HLOOKUP({X”,“Y”),{X”,“Y;B2:C},序列(MAX(C2:C)*COUNTA(B2:B),1,0)/MAX(C2:C)+2,0),MOD(序列(MAX(C2:C)*COUNTA(B2:B),1,0),MAX(C2:C))+1},“选择Col1,Col3,“/”,Col2,其中Col3Hey,感谢您发送此信息。效果很好!只是想了解一下公式。惊人的共享表。如果单位总数为两列(基本+额外)我应该用什么来代替B2:C和C2:C?我正在慢慢地提高我对公式的理解!感谢againI复制了这个选项卡。新的选项卡名为Base+Extra,可以根据您的需要进行修改。每当您共享一张工作表时,请尽量使其与原始工作表接近。人们通常认为他们可以“将其翻译回去”到他们真正的床单,但这可能会变得困难:)如果你想了解一些东西,我会在工作表上呆一会儿。谢谢MattKing!我试图自己修改它,但没有完全理解,虽然我走对了轨道!我很享受Excel/工作表公式的复杂性,但有时可能会很混乱。嘿,巴德,谢谢你发布这篇文章。它吐出了错误“CONCAT的数组参数大小不同。但是MattKing已经解决了大部分问题。再次感谢
=ARRAYFORMULA(TRANSPOSE(SUBSTITUTE(QUERY(TRANSPOSE(QUERY({HLOOKUP({"X","Y"},{"X","Y";B2:C},SEQUENCE(MAX(C2:C)*COUNTA(B2:B),1,0)/MAX(C2:C)+2,0),MOD(SEQUENCE(MAX(C2:C)*COUNTA(B2:B),1,0),MAX(C2:C))+1},"select Col1,Col3,'/',Col2 where Col3<=Col2 order by Col1,Col3 label'/'''")),,4)," / ","/")))