定义名称以提供文本或日期值而不是数值

定义名称以提供文本或日期值而不是数值

我一直在尝试定义名称在 Excel 中。我为单元格定义了一个名称,可以在其中输入文本或日期值,也可以将其留空。

但是,当我在另一个单元格中使用这个定义的名称时,第二个单元格会显示一个数字值,除非第一个单元格中有实际文本。

Value in first cell | Value in second cell
<blank>             | 0
Some text           | Some text
Date                | Numeric representation of date

显示“定义名称”功能问题的示例

如何定义列的名称,以便第一个单元格中的值(无论那是什么)被展示正是如此在第二个单元格中?我是不是漏掉了什么?

编辑:
根据建议麦卡莱克斯,我重复了应用格式的实验(文本日期作为适当的)。

重复实验结果

结果更接近我需要的,但仍然不够好。例如,即使应用的格式适用于日期,空白文本仍显示为0。除非诉诸如下公式(伪代码) if 0 then show blank else show text,怎样才能修复此问题?

简短回答:
申请文本在源单元格(第一个单元格)上格式化,然后风俗目标单元格(第二个单元格)的格式:

#,##0;-#,##0;

如需日期,请申请日期源单元格和目标单元格均采用该格式。请参阅麦卡莱克斯更多细节。

答案1

得到价值从第一个单元格开始 - 你想要的是格式。结果与您将单元格(作为普通单元格而不是命名范围)复制到格式化为“常规”的单元格时获得的结果类似。

当 Excel 看到单元格中使用等号公式时,它会包含格式。在命名区域上使用等号时不会发生这种情况。

您可能需要借助一些复制格式的 VBA 来实现您想要的结果。

编辑:

要使复制/“相等”的单元格在源单元格为空时不显示 0,您可以使用自定义格式。选择包含错误 0 的单元格并将格式更改为自定义,然后将类型设置为:

#,##0;-#,##0;

这将设置逗号分隔符,数字不带小数,负数带减号,并将 0 值设置为空白。这可能不是理想的,但应该可以正确显示。如果您想看到小数,请将其设置为:

#,##0.##;-#,##0.##;

相关内容