Google apps script 我需要这个公式来包括长度范围内的空白单元格

Google apps script 我需要这个公式来包括长度范围内的空白单元格,google-apps-script,google-sheets,google-spreadsheet-api,Google Apps Script,Google Sheets,Google Spreadsheet Api,这是工作良好,但唯一需要的改变是让它不跳过空白单元格之间 这应该可以做到 =ArrayFormula(transpose(split(concatenate(rept(A:A&char(9),(len(B:B)-len( substitute(B:B,",",))+1))),char(9)))) 为了便于阅读,该文件在下面被分成多行 =ARRAYFORMULA(transpose(split(concatenate(rept(A2:A&char(9)&",",if(i

这是工作良好,但唯一需要的改变是让它不跳过空白单元格之间


这应该可以做到

=ArrayFormula(transpose(split(concatenate(rept(A:A&char(9),(len(B:B)-len( substitute(B:B,",",))+1))),char(9))))
为了便于阅读,该文件在下面被分成多行

=ARRAYFORMULA(transpose(split(concatenate(rept(A2:A&char(9)&",",if(isBlank(B2:B)=false,(len(Q6:Q)-len( substitute(B6:B,",",))+1),0))),",")))
我只是添加了char(9),以确保在分割逗号时添加空白单元格


if语句检查B列中是否有空行,并跳过它,否则B列中的空行也将创建更多的行。当输出的行数超过可用行数时,这将产生一个错误。

我尝试使用此选项。这给我带来了一个错误:“函数REPT参数2的值是-26。它应该大于或等于0。”代码适用于您在工作表中显示的示例数据。如果共享一个失败的测试用例,我可能能够改进编码,你可以在这里检查它。plz:当单元格中有单个字符串时,它会有奇怪的结果。在上面的示例中,2017年5月26日丢失。现在已修复,我将编辑答案以匹配。如果这解决了你的问题,请接受答案。
=ARRAYFORMULA(
             transpose(
             split(
             concatenate(
             rept(A6:A&char(9)&",",if(isBlank(B2:B)=false,
                                     (len(B6:B)-len(substitute(B6:B,",",))+1),0)
             )
             ),",")
             )
             )