【问题标题】:Excel OFFSET function to work on visible cell only / Formula to generate summary title for repeated cellsExcel OFFSET 函数仅适用于可见单元格/公式以生成重复单元格的摘要标题
【发布时间】:2020-05-15 06:09:11
【问题描述】:

我有如下图所示的数据。这按 B 列(项目优先级)排序。我想创建一个辅助列,以仅基于 B 列中的第一个“可见”优先级名称显示优先级标签。我用于 C 列的当前公式适用于未过滤的数据,但在我应用过滤器时无效。例如,如果我排除第 2 行(项目 01),C 列中的汇总标签也会变得不可见。

有没有办法让 C 列中的值仅调整为可见单元格?我知道这可能可以通过 SUBTOTAL(103,ref), OFFSET 的组合来实现,但我无法弄清楚这一点。如果可能的话,我想避免使用 VBA。

非常感谢。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    您可以使用此行来查看调用是可见还是隐藏,并据此更改它的值。

    = IF( SUBTOTAL(103,A2)=1, "VISIBLE", "HIDDEN (or blank)" )

    有关更多信息,您可以查看 https://superuser.com/questions/885159/excel-function-determine-if-a-cell-is-visible

    【讨论】:

    • 谢谢!我知道 SUBTOTAL 可用于确定单元格是隐藏还是可见。问题是我无法达到过滤数据的 C 列所示的预期结果。
    • 为什么不呢?当您尝试时会发生这种情况?
    • 能否请您帮助如何在 C 列中生成标签?期望的结果是生成的标签应该出现在第一个可见行上。几个例子——如果“项目 01”被过滤掉,关键标签应该出现在 C3 中,因为这是“关键”组的第一个可见行——如果“项目 01”和“项目 02”被过滤掉,关键标签应该出现在 C4 中,因为这是“CRITICAL”组的第一个可见行 - 如果过滤掉“Project 02”和“Project 03”,则 CRITICAL 标签应该出现在 C2 中,因为这是“CRITICAL”组的第一个可见行
    【解决方案2】:

    不是最好的解决方案,但它确实有效。

    公式:

    =IF(AND(SUBTOTAL(103,A5)=1,C4<>B5,C3<>B5,C2<>B5),B5,"")

    【讨论】:

      【解决方案3】:

      这将在 C2 中工作并复制下来

      英语

      =IF(OR(AND(COUNTIF($C$1:C1,B2)=0,SUBTOTAL(103,B2)=1),AND(SUBTOTAL(103,B2)=1,B2<>B1)),B2,"")
      

      德语

      =WENN(ODER(UND(ZÄHLENWENN($C$1:C1;B2)=0;TEILERGEBNIS(103;B2)=1);UND(TEILERGEBNIS(103;B2)=1;B2<>B1));B2;"")
      

      最好的问候克里斯

      【讨论】:

      • 非常感谢!恐怕它没有按预期工作,例如,当第 3 行和第 4 行被过滤掉时,它会显示两个 CRITICAL 标签。
      • 这是我发布的内容的基线,您只需要像我在回答中所做的那样包含上面的所有行。
      • 但我认为如果关键行超过 4 行,您的解决方案也将不起作用?!
      • @Rajesh:我编辑我的答案。我认为现在它应该可以工作了
      猜你喜欢
      • 2016-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      • 2023-02-23
      • 1970-01-01
      相关资源
      最近更新 更多