【问题标题】:Excel Search list of values, and return only unique values in horizontal formatExcel 搜索值列表,并仅返回水平格式的唯一值
【发布时间】:2022-08-16 03:40:11
【问题描述】:

我需要根据一个范围内的值生成一个不重复的项目编号列表。

两种可能的选择:

公式:尝试搜索一个范围并从另一列返回相应的值。我正在搜索一系列值,并且需要一个仅包含要生成的唯一项目的列表。

数据透视表:

根据我可以粘贴到的一系列单元格过滤数据透视表。我尝试了多种选择,但无法让它工作。

在另一张表(BOM 排序表)上搜索 A 列中的“待盘”值并返回从 H 列找到的所有值(仅唯一)。

目标:能够将值从电子邮件复制和粘贴到“待解散”,并且将自动生成唯一的项目列表。

所有帮助表示赞赏:)

我也试过...

我无法使用的各种公式,我很肯定这是一个用户错误,只是不确定我错过了什么。

=转置(vlookup

=唯一(过滤器(数据,(范围1=\“b\”)*(范围2> 5)))

{=INDEX(range1,MATCH(1,(A1=range2)(B1=范围3)(C1=范围4),0))}

\'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 \' If Not Intersect(Target, Range(\"A15:A16\")) Is Nothing Then
  \'End If
 \' Dim vArray As Variant
 \' Dim b As Integer, c As Integer
 \' Dim pvFld As PivotField
 \' Set pvFld = ActiveSheet.PivotTables(\"PivotTable1\").PivotFields(\"*Item\")
 \' vArray = Range(\"A15:A16\")
 \' pvFld.ClearAllFilters

\'  With pvFld
 \'   For i = 1 To pvFld.PivotItems.Count
  \'    j = 1
   \'    Do While j <= UBound(vArray, 1) - LBound(vArray, 1) + 1
    \'     If pvFld.PivotItems(i).Name = vArray(a, 1) Then
     \'      pvFld.PivotItems(pvFld.PivotItems(i).Name).Visible = True
      \'     Exit Do
       \' Else
        \'  pvFld.PivotItems(pvFld.PivotItems(i).Name).Visible = False
  \'      End If
   \'     j = j + 1
    \'  Loop
 \'   Next i
 \' End With
\'End Sub

  • 公式:是,但显示具有预期结果的样本数据请您自己尝试解决自己的问题。
  • 还分享您拥有的 Excel 版本(Office 365 或更低版本)
  • 在 Office 365 中类似于 =UNIQUE(FILTER(\'BOM Sorting Sheet\'!H:H,\'BOM Sorting Sheet\'!A:A=\"To Be Disc\'s))
  • Microsoft 365,我尝试调整我的数据透视表,但它不允许我按范围搜索。我更喜欢用这个。在我的帖子中添加更多内容,请查看更新。
  • 我在您的帖子中阅读了很多“独特”。我只看到唯一的项目编号和每个 STK 1 个。总是这样吗?

标签: excel excel-formula match pivot-table lookup


【解决方案1】:

目标:入口点和基于从电子邮件复制的 STK 列表的唯一项目列表。

如果您想自动对数据透视表进行排序并获得唯一(不重复)的数据列表,这就是我使用的组合。

根据不在数据源中的单元格区域对数据透视表部分进行排序。

步骤1

将 2 列添加到数据透视表的源数据中。

第 1 列,引用数据输入单元格(我在包含我的 Tracker for Disc'd 项目的工作表上添加了一个入口点,以便于排序)。

第 2 列,添加一个引用第 1 列中数据的 ifs 公式,并且您要自动过滤的数据为您提供一列,其中包含您需要的数据,仅来自入口点(您可以输入数据的一组单元格将简化Ifs 功能相当大,您以后不需要编辑)。

现在您有一个列,在刷新数据透视表后将自动显示基于条目范围的新数据列表。

将该列上的过滤器设置为自动忽略错误、零和空白。

第2步

在数据透视表旁边的列中输入公式 (=UNIQUE($F:$F)。更改列以反映所需的唯一数据列表。

第 3 步

在跟踪表(或注释表)上添加刷新按钮。您可以使用 VBA 代码刷新数据透视表。

Sheet1.PivotTables("PivotTable1").Refreshtable

第4步

使用列来引用数据透视表中提取的唯一项。

现在,您可以在一张纸上输入、搜索和快速对项目采取行动所需的一切。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多