【问题标题】:Dynamic ranges again - once more, with text strings再次动态范围 - 再次使用文本字符串
【发布时间】:2016-06-08 11:02:18
【问题描述】:

我有一系列数据集(稍后用于填充组合框),并且我尝试设置动态范围以仅列出具有有用数据的单元格。总共有 160 行数据,但要填充的行数会有很大差异。

如果有影响(例如,如果动态范围检测到 "" 不是空白),则用于填充范围内单元格的公式为

{=IF(ROW()-ROW(StartPort_NoBlanks)+1>ROWS(StartPort_Blanks)-COUNTBLANK(StartPort_Blanks),"",INDIRECT(ADDRESS(SMALL((IF(StartPort_Blanks<>"",ROW(StartPort_Blanks),ROW()+ROWS(StartPort_Blanks))),ROW()-ROW(StartPort_NoBlanks)+1),COLUMN(StartPort_Blanks),4)))}

(基于@DennisWilliamson 在https://superuser.com/questions/189737/dynamically-updating-list-of-unique-column-entries-in-excel 的回答)

到目前为止,我都试过了

='Saves_FilterLookups'!$C$3:INDEX('Saves_FilterLookups'!$C$3:$C$162, COUNTA('Saves_FilterLookups'!$C$3:$C$162))

=OFFSET('Saves_FilterLookups'!$C$3,0,0,COUNTA('Saves_FilterLookups'!$C:$C),1)

...但两者都给了我整个列表,包括“空白”单元格。

大部分范围都包含文本字符串;其他范围之一包含日期。

我错过了什么?我该如何解决?

编辑:为了提供一些上下文,这里有一些列表。完整列表包含沿其长度分散的条目,重复项被删除到第二列,并且它们都被合并到第三列中的单个块中。然后将它们填充到用户表单中的组合框中,但是所有的空白也都进来了......

【问题讨论】:

  • 我相信,如果您提供示例性的输入和输出,它将很有用。很容易误解描述性给定的目标。
  • 完成...我想。希望它会澄清一点。
  • 不是空格,不是;所有空白单元格都是"" 带有公式的空白,但那里没有任何空格。我会试试 LEN 检查并回复你。
  • 不是空间问题。这是一个计数问题。 COUNTA 和 COUNTIF。我尝试做一个 COUNTIF(range,""&"") 但尽管演示说它会起作用,但它还是不起作用。
  • 我回复的您的评论似乎消失了。 LEN 应为空白单元格返回 0。

标签: excel excel-formula excel-2013 named-ranges


【解决方案1】:

这是一个潜在的解决方案...需要注意的是列表上方的单元格需要为空白

=IFERROR(INDEX($A$2:$A$13,MATCH(0,INDEX(COUNTIF($B$1:B1,$A$2:$A$13),0,0),0)),"")

这将在一个步骤中生成所有列表,并删除空白。

我相信你的 COUNTA 是你的罪魁祸首。 COUNTA 将计算所有包含某些内容的单元格......不幸的是,“”是一些东西。所以你需要消除“”的计数。所以我添加了一个 -COUNTIF 并假设您之前计算的范围相同。如果所有工作都在同一个工作表上完成,则不需要工作表名称。

=OFFSET('Saves_FilterLookups'!$C$3,0,0,COUNTA('Saves_FilterLookups'!$C$3:$C$162)-COUNTIF('Saves_FilterLookups'!$C$3:$C$162,""),1)

【讨论】:

  • 是的,工作表名称用于范围定义。我会尝试您的建议并回复您。
  • 根据您的建议,我将$C:$C 更改为有限范围并针对重叠进行了调整。 =OFFSET(Saves_FilterLookups!$C$3,0,0,COUNTA(Saves_FilterLookups!$C$3:$C$162,1)-COUNTIF(Saves_FilterLookups!$C$3:$C$162,"")-1) 效果很好。如果您想将其编辑到您的答案中,我会勾选它。谢谢!
  • 我编辑了公式,同时注意到其中有一个错误。你的 COUNTA(C3:C162,1) 有一个 ,1 真的不应该在那里。它可能会取消计数。最后一个 -1 可能因此不应该在那里......并且可能你打算输入 ,1 而不是不确定。试试编辑后的公式,看看它是否有效。
  • Aaaaah,这就解释了为什么它得到了额外的 1,我不得不将 -1 放入修复。复制粘贴代码的危险并假设教程正确。 :-D
  • 好的,狗很高兴听到这个消息,因为她正盯着我想去她早上散步,我一直在说不,需要回答问题!不过现在出去走一走。享受你的早晨 8)
猜你喜欢
  • 1970-01-01
  • 2011-10-28
  • 1970-01-01
  • 1970-01-01
  • 2016-09-29
  • 1970-01-01
  • 2016-11-28
  • 2012-02-16
  • 2011-01-21
相关资源
最近更新 更多