我在列中有日期U,X,AA,AD,AG and AJ
,在中有名称V,Y,AB,AE,AH and AK
。我有以下公式来选择最新更新。列 U 和 V 将首先填充,然后列 X 和 Y 将在稍后更新。我需要在更新另一个工作表中的单元格之前先填充日期和名称列。
这是我正在使用的公式,它很长,但我不知道如何缩短它。对于日期,我在公式的后半部分将日期列(U、X、AA、AD、AG 和 AJ)交换为日期列
=CHOOSE(1+COUNT('训练计划'!U42,'训练计划'!V42,'训练计划'!X42,'训练计划'!Y42,'训练计划'!AA42,'训练计划'!AB42,'训练计划'!AD42,'训练计划'!AE42,'训练计划'!AG42,'训练计划'!AH42,'训练计划'!AJ42,'训练计划'!AK42),"",'训练计划'!V42,'训练计划'!Y42,'训练计划'!AB42,'训练计划'!AE42,'训练计划'!AH42,'训练计划'!AK42)
此公式有效,但如果名称列中没有输入任何内容,则会将 0(零)复制到名称列中。如何让它显示空白单元格?如果我添加了名称但没有日期,则不会复制任何内容。我有另一个公式来计算日期和名称公式以复制到另一个工作表中,但它会计算 0,就好像单元格已填满一样。我制作了我正在使用的文件的许多版本,并错误地删除了以前在没有 0 的情况下工作的原始文件,我不记得我是怎么做到的!
答案1
如果您只在列中输入名称V,Y,AB,AE,AH and AK
,则函数中不需要这些单元格COUNT
(函数不会计算名称COUNT
,它只计算数字),因此您可以通过删除这些单元格来减小公式的大小......并且当您返回文本值时,您可以简单地将“空字符串”连接到公式末尾,如果相关名称单元格为空,则将零转换为空白,因此请尝试此版本
=CHOOSE(1+COUNT('Training Schedule'!U42,'Training Schedule'!X42,'Training Schedule'!AA42,'Training Schedule'!AD42,'Training Schedule'!AG42,'Training Schedule'!AJ42),"",'Training Schedule'!V42,'Training Schedule'!Y42,'Training Schedule'!AB42,'Training Schedule'!AE42,'Training Schedule'!AH42,'Training Schedule'!AK42)&""
您可能能够进一步减小公式的大小 - 中间单元格中将包含什么类型的值?W42, Z42, AC42, AF42 and AI42
数字、文本还是其他内容?例如,只要这些中间单元格不包含数字或日期你可以使用这个缩短版本:
=CHOOSE(1+COUNT('Training Schedule'!U42:AJ42),"",'Training Schedule'!V42,'Training Schedule'!Y42,'Training Schedule'!AB42,'Training Schedule'!AE42,'Training Schedule'!AH42,'Training Schedule'!AK42)&""
或者
=IF('Training Schedule'!U42="","",INDEX('Training Schedule'!V42:AK42,COUNT('Training Schedule'!U42:AJ42)*3-2)&"")
答案2
您几乎需要复制已经很长的公式:
=if(isblank(<put your old formula here>),"",<put your old formula here>)
答案3
正如您所发现的,0
如果公式要返回的单元格为空,则返回结果。有几种方法可以根据您的需要进行更改。“返回值,除非该值是空的,否则返回该值,然后该值变为空”的最常用方法是将整个公式包装在一个IF
语句中,但这会使长度加倍。
=IF([MESS]=0,"",[MESS])
如果您尝试返回数值,则可以使用以下技巧来避免两次使用混乱的公式。但是,我认为您尝试返回名称,而它不适用于字符串。
=IFERROR(1/1/[MESS],"")
但是,如果您不在乎零是否存在,只要没人能看到它,我建议使用条件格式将字体颜色设置为与背景颜色相同。单元格仍将包含该值,0
但它不会在屏幕上或打印输出中显示。
答案4
如果此文件专用于此目的 - 更改 Excel 中的选项将会有所帮助 - 而不是添加公式来隐藏可用的零。
如果取消选中标记的选项 - 那么文件将自动停止显示结果的值0
。