Excel 动态命名范围忽略空白公式

Excel 动态命名范围忽略空白公式

在列中A我有一个将另外两列整理在一起的公式。

=IF(ISBLANK(B5),"", B5&" "&C5)

然后在名称管理器中,使用动态命名范围作为数据验证下拉列表。

=OFFSET(Projects!$A$5,0,0,COUNTA(Projects!$A:$A),1)

但是,这仍然会计算所有包含公式的单元格,即使它们是空白的。我尝试用它COUNTIF来计算空白单元格。

=OFFSET(Projects!$A$5,0,0,COUNTIF(Projects!$A:$A, "<>"),1)

但这仍然包括每个包含公式的单元格,即使它是“空白的”。

有没有办法让命名范围忽略返回空白的公式?

编辑

下面是第一位数据的示例。(从第 5 行开始,因此与示例保持一致)

               A                      B          C
5 =IF(ISBLANK(B5),"", B5&" "&C5)   Director     123
6 =IF(ISBLANK(B6),"", B6&" "&C6)   Officer      321
7 =IF(ISBLANK(B7),"", B7&" "&C7)

继续往下到第 1000 行。A 列被隐藏,用户只能修改 B 和 C 中的数据。值经常被添加或删除,因此 B 和 C 中的条目数不断变化

然后,对于我的 DNR,我尝试在不同的表中使用,我使用以下内容设置了一个名为 JobTitle 的命名范围。

=OFFSET(Projects!$A$5,0,0,COUNTIF(Projects!$A5:$A1000, "<>"),1)

我目前的解决方法是计算 B 列中的非空白单元格

=OFFSET(Projects!$A$5,0,0,COUNTIF(Projects!$B5:$B1000, "<>"),1)

目前它可以工作,但是为了将来参考,我想知道如何从 A 列创建 DNR。

答案1

我会定义职称而是:

=Projects!$A$5:INDEX(Projects!$A5:$A$1000,COUNTIF(Projects!$A5:$A$1000,"?*"))

通过代替INDEXOFFSET可以减少构造的波动性。

请注意,该COUNTIF部分基于以下假设:范围内的值Projects!$A5:$A$1000是文本,而不是数字。然而,考虑到此范围内的每个值都是通过字符串连接得出的,我认为这个假设是合理的。

问候

答案2

而不是
COUNTA(Projects!$A:$A)
使用
COUNTIF(Projects!$A:$A,"<>"&"")

COUNTA 函数计算范围内非空单元格的数量。

包含公式的单元格,即使它返回的值""不为空。

相关内容