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_Google Sheets Formula - Fatal编程技术网

Google sheets 将Google Sheets列拆分为行-忽略任何空格

Google sheets 将Google Sheets列拆分为行-忽略任何空格,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我有一系列列,其中包括大小,不同的产品,所以有相当多的空白每行。到目前为止,我已经使用这个公式选择了5列并将它们转换成行(下面文件中的DK/DL列)。我需要扩展它以提供更多的行,但是当包含所有空格时,它太大了,所以有没有办法忽略任何空白单元格而只包含有值的单元格 例如,我们可以用一个简单的例子来说明这个问题♠"&A3:A&“♦&AP3:AT,)、999^99)、999^99、♠")), "♦(“”) 我还需要在列中显示该列旁边的第二行。例如,我使用了列AP-AT,其中包括XS、S、M、L、XL作

我有一系列列,其中包括大小,不同的产品,所以有相当多的空白每行。到目前为止,我已经使用这个公式选择了5列并将它们转换成行(下面文件中的DK/DL列)。我需要扩展它以提供更多的行,但是当包含所有空格时,它太大了,所以有没有办法忽略任何空白单元格而只包含有值的单元格

例如,我们可以用一个简单的例子来说明这个问题♠"&A3:A&“♦&AP3:AT,)、999^99)、999^99、♠")), "♦(“”)

我还需要在列中显示该列旁边的第二行。例如,我使用了列AP-AT,其中包括XS、S、M、L、XL作为列标题,然后每行中都有一个值。上面的公式将从这5列中获取值,并将它们放在它们自己的行中。有没有办法将下一列设置为just显示列标题?当我再次使用公式aboe时,它会下降到下一行,并再次使用库存编号而不是标题

实际上,我想从以下方面着手:

SKU | XS | S | M | L | XL

瓦尔1 | 12 | 3 | 32 | 1 | 123

为此:

Val1 | 12 | XS

瓦尔1 | 3 | S

瓦尔1 | 32 | M

瓦尔1 | 1 | L

Val1 | 123 | XL

链接到google工作表测试:

更新-已回答 最好的答案是下面的评论


例如:“,”,“,”,“,”,“,”,“,”,“,”,”,“,”,“,”,“,”,”,“,”,“,”,“,”,”,“,”,“,”,“,”,“,”,“,”,“,”♠“&A3:A&”♦&AN3:AU,)、999^99)、999^99、♠")), "♦例如,我们可以用一个简单的例子来说明这个问题,例如:TRIM(SPLIT)(转置)(SPLIT)(转置)(查询)(转置)(IF(LEN(A3:A)))♠“&A3:A&”♦&AN2:AU2,)),999^99),999^99♠")), "♦),“select Col2”,0)},“select*where Col2'',0)

我不确定我是否完全理解您想要的内容。但它是否与此公式的结果类似?请将其放置在样本表的单元格DP3中

=query(ArrayFormula(if(len(DL3:DL),DK3:DK&" ~ "&DK3:DL&" ~ "&DN3:DN,"")),"select Col2 where Col2 <>''",0)
=查询(数组公式(如果(len(DL3:DL),d3:DK&“~”&d3:DL&“~”&DN3:DN)”),选择Col2,其中Col2“”,0)
第一排的结果如下:645550-010~0~M

分离器只是为了清晰起见,当然可以拆下

这是使用列DK-DN中的数据构建的,并且有效地删除了列DL中没有值的行。您可能希望将解决方案公式与当前构建列DK-DN的公式合并,以便不再需要它们

如果我走错了方向,我道歉。那么请你更详细地解释一下你想要什么样的单元格,以及如何从哪些列中的值生成结果

更新: 以下版本的公式将结果拆分为三列,而不是全部列在一列中

=query(ArrayFormula(if(len(DL3:DL),{DK3:DK,DK3:DL,DN3:DN},{"","",""})),"select Col2, Col3, Col4 where Col2 <>''",0)
=query(数组公式(if(len(DL3:DL),{d3:DK,d3:DL,DN3:DN},{“”,''),“选择Col2,Col3,Col4,其中Col2'',0)
请注意,如果没有将{“”,“}作为IF语句的第二部分,这似乎也可以工作,但我不确定那里发生了什么,所以将其保留在这里

更新#2:

符合问题要求的最终公式如下:

=QUERY({
         ARRAYFORMULA(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(LEN(A3:A), "♠"&A3:A&"♦"&AN3:AU,  )), , 999^99)), , 999^99), "♠")), "♦"))),
   query(ARRAYFORMULA(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(LEN(A3:A), "♠"&A3:A&"♦"&AN2:AU2, )), , 999^99)), , 999^99), "♠")), "♦"))),
     "select Col2",0)
   },
   "select * where Col2 <>''",0)
=查询({
这句话的意思是:一个句子的意思是:一个句子的意思是:一个句子的意思是:一个句子的意思是♠“&A3:A&”♦&AN3:AU,)、999^99)、999^99、♠")), "♦"))),
例如,我们可以用一个简单的例子来说明这个问题♠“&A3:A&”♦&AN2:AU2,)),999^99),999^99♠")), "♦"))),
“选择Col2”,0)
},
选择*其中Col2“”,0)

基本上使用了两个原始查询,生成了一些临时工作列,并根据需要筛选出空白值。如果不需要包含包含空白单元格的数据的临时列,则可以从电子表格中删除几千行,从而提高性能。

您不喜欢使用Apple Script吗?t?有什么问题吗♠ ♦ 关于公式中的内容?另外,请在将来尝试将代码放入代码块-。我询问应用程序脚本,因为公式似乎变得非常复杂,并且您有大量数据。对于公式可能是可行的,但对于应用程序脚本,绝对是可行的,而且更易于管理。@iansedano我没有使用应用程序脚本,但我可以。这些字符其中包含在我开始使用的公式脚本中。我现在需要做的唯一一件事是从“I”列包含到“CU”列,但忽略任何空白单元格。当我尝试添加筛选器时,它会破坏公式。我需要用应用程序脚本做什么?hi@kirkg13这几乎正是我需要的!我只想要那个DP单元格如果这有意义的话,将其拆分为3个独立的单元格。因此,不使用“~”将它们拆分,而是将它们分别放在单独的单元格中,因此对于第一行,“645550-010”将位于DP中,0位于DQ中,S位于DR中。请参见更新。更简洁的版本如下:=query(ArrayFormula(if(len(DL3:DL),{d3:DK,d3:DL,DN3:DN}),”选择Col2、Col3、Col4,其中Col2'',0)我尝试将创建DK到DN的公式与我的公式合并,以获得最终结果,而不需要DK-DN列,因为DK-DN列有许多不必要的行,这会降低工作表的速度。请在第3行的空单元格中尝试以下操作,如DT3。然后在DK3和DM3中注释掉公式。如果有效,可以删除这些公式lumns是不必要的。这个公式可能会被整理,如果它做了你想要的。它现在感觉是一个快速而肮脏的解决方案♠“&A3:A&”♦&AN3:AU,)、999^99)、999^99、♠")), "♦例如,我们可以用一个简单的例子来说明这个问题,例如:TRIM(SPLIT)(转置)(SPLIT)(转置)(查询)(转置)(IF(LEN(A3:A)))♠“&A3