复制列时如何保持真正的空白单元格

How to maintain true Blank Cells when copying a column

问题: 我在 A 列中有数据作为某种标题,在 B 列中我有 subheadings.Because 该列的标题之间有空白单元格。 如果我将第二个 sheet 中的单元格 A1 设置为等于第一个 sheet 中的 A1 并将其复制到整个空白单元格 return 中作为“0”。这会扰乱依赖真正空白单元格的公式。

我已附上图片以直观地解释问题。

要复制所需的输出和问题:

.

我试过的:从美学上讲,您可以在高级设置中将“0”单元格设置为不显示 0,但正如名称所描述的那样,它仍然是 0,只是隐藏但不是从公式。我曾尝试将单元格设置为“仅文本”以尝试消除 0,但这没有任何影响,因为数字仍被识别为文本。我还尝试用代码 =IF(E1="0","",E1)=IF(E1="0",NA(), E1) 消除 0。这会删除 0 或添加 N/A#,但最终这些单元格仍会被上述公式识别,并且输入 0 或公式失败。

有谁知道如何使空白单元格的一列与另一列相等,并且仍然保持真正的空白单元格而不是 0?或者,如果有人知道如何修改我的公式以忽略 0,那也很好。我在 VBA 方面没有任何经验,但我愿意 learn/copy 并粘贴一个代码来解决这个问题。

感谢任何帮助,或者如果您认为不可能,请告诉我。

请在您的单元格 E2 中尝试此公式并向下复制。

=LOOKUP(2,1/($A:$A2<>""),$A:$A)

用这个公式达到相反的效果。

=IF(A2="","",A2)

第一个公式会将 header 复制到每一行,即使源为空白也是如此,而第二个公式为空白单元格生成一个空白单元格。另一种方法是允许写入零但使用单元格格式或通用设置(对于整个 sheet)抑制零值显示。

您的意思是要在 TEXTJOIN() 中使用条件,一个嵌套的 IF():

D1中的公式:

=SUBSTITUTE(FILTERXML("<t><s>'"&TEXTJOIN("</s><s>'",,IF(A2:B13<>0,A2:B13,""))&"</s></t>","//s"),"'","")