【问题标题】:Find multiple repeated values and copy rows查找多个重复值并复制行
【发布时间】:2019-12-27 06:36:35
【问题描述】:

我需要从表中提取重复值并从我的第 2 行复制信息,次数与返回的项目一样多。这个例子更有意义。这是包含我的数据的表的截断示例:

这就是我想把它拉进去的:

以及期望的结果:

我希望我可以在第一个类别单元格中输入“食物”,在第一个名称单元格中输入一个名称。如果我在“食物”类别中有 170 条东西,它将有 170 行“食物”、170 条价格、170 种物品(在我的列表中,这些物品都是唯一的)和 170 行“梅根”或任何我喜欢的名字'已经进入那里。

我可以使用 INDEX 和 MATCH 来填写价格和商品的第一行,但如果我重复该公式,它只会在每一行中给我同样的东西。我已经找到了几乎用 SMALL、LARGE 和 COUNTIF 做我想做的事情的方法,但是所有这些都返回了整个列表,有序。这意味着我必须检查并删除所有“鞋子”和“书籍”。我的每个类别都将保存在一个单独的文件中。

表格可以从 A 到 Z 排序。也许有一种方法可以找到“食物”,COUNTIF(?) 它出现了多少次,然后将表格中的那么多单元格复制到我的新表格中?换句话说,“food”首先出现在A2中,出现170次,将Table1单元格A2到A172的所有内容复制,在Table2单元格A2到A172中打印,在D2中重复值[“Megan”] 170次?

更新:我想出了一个解决方法,但它可能会更好。我很想找到一种方法从数据透视表中提取所有 1000 多个项目,而不必手动选择它们。这就是我现在正在做的事情:

我将第一个表的值放入数据透视表中,然后选择每个类别中的所有“项目”并将它们粘贴到我的新表中。

感谢this question,我使用=IF($C2<>"",D$2,"") 用适当的数据填充行,其中C 是项目,D 是名称。它并不完全是“自动化的”,因为我必须将公式向下拖动 1100 个单元格,但我所要做的就是粘贴我的第一个表中的各个项目,然后 D 列会自行复制。

对于价格,我使用了这个:=IFERROR(INDEX(Table1[Price],MATCH([Item],Table1[Item],0)),"")

类别的类似公式。同样,不完全自动化。

【问题讨论】:

    标签: excel excel-formula excel-2013


    【解决方案1】:

    对于您可能想要使用的公式:ARRAY FORMULA: CTRL + SHIFT +ENTER

    =IFERROR(INDEX($A$1:$C$7,SMALL(IF($A$1:$A$7=$E2,ROW($A$1:$A$7)),ROW(A1)),MATCH(F$1,$A$1:$C$1,0)),"")
    

    您可以根据需要调整范围。我将公式复制到 F2 并将其横向和向下拉。如果您需要帮助,请直说:)

    梅根有条件吗?

    【讨论】:

      【解决方案2】:

      您应该考虑使用电源查询。 https://www.contextures.com/excelpowerquerycombinetables.html

      这应该可行。

      您可以为价格项目和名称创建查询表。

      我创建了 tbl_item 和 tbl_name 如下。

      然后我转到新查询 > 合并查询 > 合并。应该如下图所示。突出显示要合并的列。在这种情况下是基于类别的。

      点击确定,你就会得到你想要的。

      希望对您有所帮助。

      【讨论】:

      • 感谢您的回答,但我不想将名称添加到新列,我想用类别、价格、项目和名称填充新表。
      • 你的答案很接近。您只需在编辑器中复制 tbl_Name,右键单击“食物”并选择 drill down,然后将此查询重命名为 Cat_Filter,然后转到合并的 tbl_Item 并先通过food 过滤,然后转到公式栏将"food" 替换为Cat_Filter,然后将表格加载到新工作表中。每次用户只需在 excel 工作表的 tbl_Name 中输入类别和名称,然后 刷新数据 即可检索显示类别、价格、项目和名称基于 tbl_Name 表中输入的信息。
      • 您的意思是您不想创建一个包含所有名称的新表吗?结果表是由 powerquery 创建的新查询表。因为我认为这是不考虑公式的最快方法,通过更新 tbl_item 和 tbl_name,您可以快速合并表格。
      • 我想为每个类别创建一个新表,没有任何其他类别或名称应为“null”的位置。我想出了一种目前效果很好的方法(更新了我的问题),但我会根据@TerryW 的进一步建议尝试您的建议
      • @Alna 刚刚阅读了您更新的问题。如果类别数量是固定的,比如总共 5 个类别,您可以使用 Kevin 当前的答案,但在 tbl_Name 表中您需要输入所有 5 个类别和对应的名称,并按照 Kevin 的步骤创建一个合并表,然后再制作4个合并表副本,按不同类别过滤每个表,最后关闭所有表并将其加载到excel工作表。每次更新tbl_Item 表时,所有表都会在您刷新数据后自动更新。无需创建Cat_Filter
      猜你喜欢
      • 1970-01-01
      • 2019-10-21
      • 2014-08-08
      • 1970-01-01
      • 2021-11-15
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多