Excel 公式通过忽略空白单元格复制一个单元格中一列的所有单元格数据

Excel 公式通过忽略空白单元格复制一个单元格中一列的所有单元格数据

我在 Q 列中有通过另一个 excel 公式返回的数据,并且我希望 excel 公式在 R2 单元格中获得 o/p,如下所示

Q专栏

1234567810 1111 8787

{空白单元格}

1234567811 1111 8787

{空白单元格}

{空白单元格}

{空白单元格}

{空白单元格}

{空白单元格}

{空白单元格}

1234567812 1111 8787

{空白单元格}

{空白单元格}

R2 单元格

1234567810 1111 8787,1234567811 1111 8787,1234567812 1111 8787

我尝试了公式=TEXTJOIN(",",TRUE,Q2:Q100),但它显示 o/p

1234567810 1111 8787,,1234567811 1111 8787,,,,,,,1234567812 1111 8787,,

因此,它不会忽略空白单元格值,因为空白单元格值是通过 excel 公式返回的,这实际上并没有使它们变为空白,而只是将它们显示为空白

答案1

评论中的答案以及对另一个问题的答案看起来都很不错。但这里有一个简单的答案,不需要使用函数TEXTJOIN(Excel 2013 及以下版本中不存在该函数)或使用 VBA。

设置“辅助列”;例如,列 Z。在 中Z2,输入

=IF(Q2<>"",Q2,"")

您可能认为这=Q2将是等效的,但如果Q2为空白,则=Q2会给您一个0;请参阅在 Excel 中引用空白单元格时显示空白。或者,=Q2&""可能同样好。

Z3,输入

=Z2&IF(AND(Z2<>"",Q3<>""),",","")&Q3

这将为您提供 所需的最小化连接(无空格列表)形式的Q2和。如果(等于)和都非空,则您将获得Q3Z2Q2Q3

Q2 & "," & Q3

apple,banana。如果或Q2Q3空白,则得到

Q2 & Q3

即,只是简单的apple、只是简单的banana或者空白。

选择Z3并向下拖动/填充到Z100。在每一行,这会添加到列表中,仅当 不为空时才插入逗号。(这里我隐藏了列 - 。)ZnQnQnSY

演示

然后只需设置R2为。 (或者 ,如果整个列表有可能为空白,=Z100则使用。)=Z100&""

答案2

显示所有信息(尤其是 Q 列中的公式)会很有帮助。我怀疑 Q 列中的公式没有返回空白"",而是返回了空格" "或其他非打印字符。

如果它返回空格,您有两个选择:

  • 将 Q 列公式更改为返回空白,然后TEXTJOIN按照您在问题中所做的那样使用
  • 使用以下公式可以有效地将空格变成空:

=TEXTJOIN(",",TRUE,TRIM(Q2:Q100))

这是一个数组公式,必须按住ctrl +shift并点击 来确认enter。如果您正确执行此操作,Excel 将{...}在公式周围放置括号。

类似的方法也可用于不同的非打印字符。

答案3

如果数据范围内有几个空白单元格,那么您需要使用如下所示的公式。

=TEXTJOIN(",",TRUE,Q2,Q4,Q11) 

相关内容