我有一个Excel 2010工作簿,其中包含许多单独的工作表。一张纸上的单元格链接到同一工作簿中两个其他工作表上的单个单元格。我使用的是直接单元格引用,该引用本质上说的是,在一张纸上的特定单元格中输入的任何值也会填充另外两张纸上的单元格。我将(=)函数与单元格引用一起使用来完成此操作。
我遇到的问题是,即使主单元格留为空白,从该主单元格填充的单元格也会显示0,而不是自己保持空白。
我希望从属单元格保持空白,如果它们链接到的主单元格为空白。
我有一个Excel 2010工作簿,其中包含许多单独的工作表。一张纸上的单元格链接到同一工作簿中两个其他工作表上的单个单元格。我使用的是直接单元格引用,该引用本质上说的是,在一张纸上的特定单元格中输入的任何值也会填充另外两张纸上的单元格。我将(=)函数与单元格引用一起使用来完成此操作。
我遇到的问题是,即使主单元格留为空白,从该主单元格填充的单元格也会显示0,而不是自己保持空白。
我希望从属单元格保持空白,如果它们链接到的主单元格为空白。
Answers:
您需要强制Excel将单元格的内容视为文本值而不是数字,它会自动使用空白值。
=A2 & ""
这将迫使Excel使该单元格引用文本值,从而防止将空格转换为零。
这是三个答案:
1)出租 other.cell.reference代表您当前在=
(例如 Sheet17!$H$42
)之后拥有的参考公式,用替换该链接参考
=IF(
other.cell.reference其他<>"",
.cell.reference, "")
2)将链接的单元格的“数字”格式设置为“自定义”:General;–General;
。
3)在“ Excel选项”的“高级”页面的“显示此工作表的选项”部分中,清除“在具有零值的单元格中显示零”复选框。警告:这将导致工作表中的所有零消失。
Q1
包含一个(实际上很长)公式,并且A1
包含=Q1
; 我们想要更改A1
为=IF(Q1<>"", Q1, "")
,您无需再更改。“真的没有更好的选择了吗?”嗯,这个问题已经闲置了九个月了,这就是所有已发布的内容。如果这些答案对您来说不够好,请发布新问题,或对此悬赏。
如果您的参考数据只是数字类型(非文本)或为空,并且您可能有0,那么这是我的首选方法,只需输入一次公式即可。诚然,这是一种间接的方式,但是我认为最好是因为:
失败:如果您需要返回文本数据,则此操作将无效。对于文本数据,我的首选方法是使用数字格式,如上面其他答案中所述。
=IFERROR((A1 & "") * 1,"")
在这种情况下,A1可以用任何单元格替换,包括另一个工作表,工作簿或INDIRECT()。
有关其工作原理的注释:
IFERROR()-第二个参数设置为空字符串,因此,如果发生错误,我们将得到一个空字符串。因此,我们需要确定源单元格是否为空,是否会触发错误。
数值方法:将源值字符串化,然后乘以1。文字空字符串* 1 = #VALUE,带有数字的字符串会自动转换为数字,并且不会发生错误。
"" & A1 & ""
?何时会与A1 & ""
或产生不同的结果"" & A1
?
我也没有找到比斯科特的解决方案更好的解决方案。
但我认为,结合此处的方法,几乎可以忍受:
http://www.ozgrid.com/Excel/named-formulas.htm
假设我有这样的公式
= IFERROR( INDEX(INDIRECT("EsZkouska");
SMALL(IF((INDEX(INDIRECT("EsZkouska");;1;1)="ČSN721180")*(INDEX(INDIRECT("EsZkouska");;9;1)="RC_P_B");
ROW(INDIRECT"EsZkouska"))-MIN(ROW(INDIRECT("EsZkouska")))+1;"");1);17;1);"")
该公式使用条件选择从数据表读取单元格值,并将其显示在另一张表上。我无法控制数据表中的单元格格式。
我转到“插入”>“名称”>“定义”,然后在“工作簿中的名称”中创建新名称“ RC_P_B”。然后将“公式”复制到“引用”字段中(不包含{}个字符-它是数组公式)。
然后,您可以使用Scott的公式,而不必重复整个公式文本:
{=IF(RC_P_B<>""; RC_P_B;"---")}
我认为这比复制整个公式更好。
我简单地不使用公式来解决此问题。我要做的就是如果单元格值等于0,则将单元格有条件地设置为白色字体。
我长期以来一直在寻找一种优雅的解决方案来解决这个问题。
我已经使用公式= if(a2 =“”,“”,a2)多年了,但是我发现它有点麻烦。
我尝试了上面的建议= a2&“”,尽管它确实可以工作,但它显示的是实际上是文本的数字,因此无法应用数字格式,并且没有统计运算有效,例如总和,平均值,中位数等,因此,如果可行您要查找的数字不符合要求。
我尝试了其他一些功能,发现我认为是迄今为止最优雅的解决方案。继续上面的示例:
= CELL(“ contents”,A2)
返回可以格式化为数字的数值,并且当引用的单元格为空白时,它返回空白。由于某种原因,该解决方案似乎没有出现在我发现的任何在线建议中,但是
A2
为空,则显示0
。您确定对格式没有做任何事情吗?
Public Function FuncDisplayStringNoValue(MyCell As Variant) As String
Dim Result As Variant
If IsEmpty(MyCell) Then
FuncDisplayStringNoValue = "No Value"
Else
Result = CDec(MyCell)
Result = Round(Result, 2)
FuncDisplayStringNoValue = "" & Result
End If
End Function
在Office 2013中为我工作的是:
=IF(A2=""," ",A2)
第一组报价上没有空格,而第二组上没有空格。
希望这可以帮助
=IF(A2="", "", A2)
好吗?那有什么不同=IF(A2<>"", A2, "")
呢?那么为什么是从最高投票的答案,这是给两年前有什么不同?
我有一个类似的问题,我想我为您找到了一种方法。它解决了我的问题。
如果您希望C列引用A列,而只为该引用单元格编写公式,则可以使用该公式并将其向下拖动。
=A1
但是,在A列中可能有空白的源单元格,并且在C列中的参考单元格中需要保持空白,您可以使用它并向下拖动列。
=T(A1)
就单元格格式化而言,引用(列C)将需要是通用的。
解:
=IF('Wk1 Data-replace w dt bgn & end'!C2>0, 'Wk1 Data-replace w dt bgn & end'!C2, "")
说明:
为了解决此问题,我使用了两组If
命令。
命令的第一部分:
如果参考单元格包含数据,我告诉该单元格显示参考单元格的内容(Excel将其解释为值大于0的单元格)
命令的第二部分:
我告诉它在没有数据的情况下如何表现;“”表示留空
注意:Wk1数据替换w dt bgn&end'!C2是我的参考单元。
=IF('Wk1 … bgn & end'!C2<>"", 'Wk1 … bgn & end'!C2, "")
,则它等同于已经给出了大约四次的答案。
所有这些解决方案对我来说都太复杂了,我意识到这可能不适用于所有应用程序,但是我只是在源字段中填充了一个空白,而在目标字段中却得到了一个空白。
我有一个适合我的解决方案:
IF(cell reference="","",cell reference)
说明:
""
等于空白或空单元格。现在,我只将if掉头。如果单元格为空白,则使其为空白,否则使用单元格引用。