【问题标题】:Excel - Create a dynamic exclusion list which skips certain valuesExcel - 创建一个跳过某些值的动态排除列表
【发布时间】:2017-07-31 15:08:47
【问题描述】:

我有一个大数据集,其中一列的摘录如下所示:

1:T8-9&
1:T25&
1:T27
1:T30&
1:T19
1:T19/y6
1:T10
1:T26-H2O
1:T31
1:T23/24
1:T4x2
1:T12
1:T1&
1:T6&

我想仅使用唯一值在新表中重新创建此列(即,如果我复制了一个值,则以后跳过此值)。为此,我使用以下公式:

{=IFERROR(INDEX($B$2:$B$15, MATCH(0, COUNTIF($C$1:C2, Sheet4!$B$2:$B$15), 0)), "")}

这很好用,但我也想排除包含 /、x 或 -H2O 的值,但我不知道该怎么做。

我一直试图让这个工作现在只跳过 / 值。我试过了:

{=IFERROR(INDEX($B$2:$B$15, MATCH(0, COUNTIFS($C$1:C1, $B$2:$B$15, $B$1:B1, "=*/*"), 0)), "")}

这给了我结果:

  B               C
1:T8-9&         1:T8-9&
1:T25&          1:T25&
1:T27           1:T27
1:T30&          1:T30&
1:T19           1:T19
1:T19/y6        1:T19/y6
1:T10           1:T19/y6
1:T26-H2O       1:T10
1:T31           1:T26-H2O
1:T23/24        1:T31
1:T4x2          1:T31
1:T12           1:T23/24
1:T1&           1:T4x2
1:T6&           1:T12

我的目标是:

   C
1:T8-9&
1:T25&
1:T27
1:T30&
1:T19
1:T10
1:T31
1:T12
1:T1&
1:T6&

您能提供的任何帮助将不胜感激。

非常感谢, 亨利

【问题讨论】:

  • 也许做COUNTIFS() 并添加一个条件,即B2:B15 范围(我假设这是您包含的列表)在单元格中没有这些条件?
  • 如果是一次性工作,您可以过滤这些值的列,然后删除这些单元格。
  • BruceWayne:- 我已经尝试过了,并添加了我这样做的结果,我认为 / etc 的排除需要包含在 MATCH() 阶段,但我不是确定如何。 Rob Anthony:- 不幸的是,这不是一项工作,我希望制作一个可以复制其他数据集的模板。感谢您的 cmets。

标签: excel dynamic unique


【解决方案1】:

在C2中输入如下公式,CTRL+SHIFT+ENTER确认,向下复制:

=IFERROR(INDEX($B$2:$B$15, MATCH(0,IF(MMULT(ISNUMBER(SEARCH({"/","x","-H2O"},$B$2:$B$15))+0,{1;1;1})=0,COUNTIF($C$1:C1,$B$2:$B$15)), 0)),"")

请注意,数组常量{1;1;1}中1的个数与数组常量{"/","x","-H2O"}中的条件数相对应。

希望这会有所帮助!

【讨论】:

  • 效果很好,非常感谢!现在我只需要尝试并了解如何!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多