首页 > 解决方案 > 请给我这个公式的 ArrayFormula

问题描述

我想实现第一列。

公式为:
=textjoin(char(10),false,A4:F4)

当我转换为 Arrayfromula 时:
=transpose(split(textjoin(char(10),false,{ArrayFormula("~"&A4:A),A4:F}),"~"))

在此处输入图像描述 可编辑工作表链接

在我的 Arrayformula 中,第一个值是重复的,请帮助!

编辑:

有什么方法可以实现Arrayformula 1(两列)和Arrayformula 2(单列)?

数字表:(
基本上不包括值为 0 的单元格) 在此处输入图像描述

该公式甚至应该使用字符串作为数据而不是强制数字,如下所示:

字符串和数字表:(
基本上不包括值为 0 和 NULL 的单元格)
在此处输入图像描述

标签: google-sheetsgoogle-sheets-formulaarray-formulasline-breaks

解决方案


尝试:

=ARRAYFORMULA(REGEXREPLACE(REGEXREPLACE(FLATTEN(QUERY(TRANSPOSE(
 TO_TEXT(A4:F6)&"×"),,9^9)), "×", CHAR(10)), " ", ))

在此处输入图像描述


更新:

=ARRAYFORMULA({IF(TRIM(FLATTEN(QUERY(TRANSPOSE(A4:F),,
 9^9)))="",,JOIN(CHAR(10), A1:F1)), 
 REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(FLATTEN(QUERY(TRANSPOSE(
 TO_TEXT(SUBSTITUTE(A4:F, " ", "♀"))&"×"),,
 9^9)), "×", CHAR(10)), " |\n$", ), "♀", " ")})

在此处输入图像描述


=ARRAYFORMULA(IF(TRIM(FLATTEN(QUERY(TRANSPOSE(A4:F),,9^9)))="",,
 REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(FLATTEN(QUERY(TRANSPOSE(
 TO_TEXT(SUBSTITUTE(IF(A4:F="",,A1:F1&": "&A4:F), " ", "♀"))&"×"),,
 9^9)), "×", CHAR(10)), " |\n$", ), "♀", " ")))

在此处输入图像描述


推荐阅读