【问题标题】:Ignore Duplicates and Create New List of Unique Values in Excel with offset忽略重复并在 Excel 中使用偏移量创建新的唯一值列表
【发布时间】:2017-07-24 17:55:21
【问题描述】:

我的问题与之前提出的问题有关,但由于我是新成员,我无法对这个问题发表评论。

earlier question 询问我们如何对工作簿中的列表进行重复数据删除,以便在同一工作簿的另一个工作表上创建新的唯一值列表。 @achaudhr 给出的投票最多的解决方案对我有用,但我需要指定公式需要引用的确切单元格。在那个答案的 cmets 中,@Dan 提到如果我们指的是动态范围,我们必须使用 OFFSET。

这是我目前使用的公式:

B2=INDEX($A$2:$A$20, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$20), 0))

我已经尝试在这个公式中使用偏移量,但我想我做错了什么,因为它一直给我 #N/A 结果。

如果我的数据在 A 列中(根据上面的公式),我希望能够动态更改范围的 ":$A$20" 部分。 A 列中的列表会根据我在另一张工作表上的工作簿中输入的内容发生变化(我们称之为工作表 3)。因此,我无法对索引公式范围内的单元格进行硬编码,否则每次列表更新时我都必须更改此范围。

基于上述布局,E2 中的单元格计算工作表 1 上 A 列中列表的最大单元格数。当工作表 3 中的输入发生变化时,此数字会发生变化。 我编辑了上面的公式以使用 OFFSET 通过以下方式引用 E2:

B2=INDEX(OFFSET('Sheet 1'!$A$1,'Sheet 1'!$E$2,0), MATCH(0, COUNTIF($B$1:B1, OFFSET('Sheet 1 '!$A$1,'Sheet 1'!$E$2,0)), 0))

这个公式返回#N/A(我确实按了 Ctrl + Shift + Enter 所以不是因为那个)。

我希望这里的小组可以帮助我解决这个问题。期待您的意见并感谢您的所有帮助。

谢谢, 尼哈

【问题讨论】:

  • 我没有看到您的公式中使用了OFFSET。但是使范围引用动态化的一种方法是使用表格。如果这对您不起作用,请提供您正在做的事情、您尝试过的事情以及您想要的结果的示例。建议你阅读How to create a Minimal, Complete, and Verifiable example
  • @RonRosenfeld 请看我上面的例子,上面有图片和更新的公式。我认为我无法使用表格,因为我需要从另一张表格中获取这些数据。我的文件已经很重了,使用表格可能会使其变得更庞大和更慢。如果您认为情况并非如此,那么请就我应该如何处理提出建议。谢谢,内哈。
  • 您可以使用“删除重复项”功能或使用“高级过滤器”功能来执行此操作。您是否有任何特殊原因需要一个公式来执行此操作,而不是专门为此目的使用内置功能?
  • @tigeravatar 我在 excel 中构建了一个自动模板,用于批量生成帐户结构。用户只需在其中一张工作表上输入一个列表,工作簿的其余部分就会自行更新。工作簿中有各种工作表,有些工作表依赖于其他工作表。我想尽量减少用户为获得所需格式的输出而采取的步骤。因此我需要使用公式。我不能使用高级过滤器功能,因为只有在我对同一张表上的列表进行重复数据删除时才能使用它。

标签: excel excel-formula excel-2010


【解决方案1】:

在动态范围确定公式中使用OFFSET 的方法是使用该值作为[height] 参数。

因此,在您的示例中,公式如下所示:

B2: =IFERROR(INDEX(OFFSET($A$1,1,0,$E$2-1), MATCH(0, COUNTIF($B$1:B1, OFFSET($A$1,1,0,$E$2-1)), 0)),"")

参考:$A$1(也可以使用 0 行偏移量将其设置为 $A$2

行偏移:1(因为 A1 包含标题)

列偏移:0

[height]:$E$2 的内容减 1(因为我们不包括表头)

[宽度]:留空

【讨论】:

    猜你喜欢
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    • 2014-03-04
    • 1970-01-01
    • 2016-02-11
    • 2016-10-23
    相关资源
    最近更新 更多