-2

我正在尝试根据 vlookup 类型匹配从列中获取所有不同值的列表。

例如:

表 1:

      (colA)         (colB)   (colC)
Health System Name    EMR     PMR 

System A       
System B
System C
System D

表 2(所有数据所在的位置)

Healthy System Name        Tech ID      Vendor

System A                 PMR         ClinicA
System A                 EMR         ClinicE
System A                 EMR         ClinicA
System B                 EMR         ClinicB
System B                 PMR         ClinicC
System C                 PMR         ClinicA
System C                 PMR         ClinicB  
System C                 EMR         ClinicD
System C                 PMR         ClinicD
System C                 EMR         ClinicG

我希望能够在工作表 2 的 colA 中的工作表 1 中的 colA 中搜索健康系统的名称...并根据它是 PMR 还是 EMR...从 Vendor 列返回唯一值的数量到表 1 中相应列下的一个单元格。

因此,在系统 A 的表 1 中的 EMR 列下,我想要表 2 中供应商列的不同值,其技术 ID 为系统 A 的“EMR”。

在这种情况下,它将是:ClinicA,ClinicE

任何帮助将不胜感激!

4

2 回答 2

0

您将无法仅使用 excel 公式来执行此操作,您将需要 VBA 解决方案。如果您Sheet1包含如下数据,

在此处输入图像描述

Sheet2,

在此处输入图像描述

试试这个简单的 VBA 代码,

Sub uniqueList()
Dim i As Long, j As Long, str As String
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    For j = 2 To Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(i, 1) = Sheets("Sheet2").Cells(j, 1) And Cells(1, 2) = Sheets("Sheet2").Cells(j, 2) Then
            If Cells(i, 2) <> "" Then
                str = Cells(i, 2) & " , " & Sheets("Sheet2").Cells(j, 3)
                Cells(i, 2) = str
            Else
                Cells(i, 2) = Sheets("Sheet2").Cells(j, 3)
            End If
        End If
        If Cells(i, 1) = Sheets("Sheet2").Cells(j, 1) And Cells(1, 3) = Sheets("Sheet2").Cells(j, 2) Then
            If Cells(i, 3) <> "" Then
                str = Cells(i, 3) & " , " & Sheets("Sheet2").Cells(j, 3)
                Cells(i, 3) = str
            Else
                Cells(i, 3) = Sheets("Sheet2").Cells(j, 3)
            End If
        End If
    Next j
Next i
End Sub

你的输出是,

在此处输入图像描述

于 2017-06-05T06:16:39.807 回答
0

如果您有新的 TEXTJOIN 函数,则使用 CSE 将其作为数组公式输入。

=TEXTJOIN(", ", TRUE, IF(Sheet2!$A$2:$A$11=$F7, IF(Sheet2!$B$2:$B$11=G$6, Sheet2!$C$2:$C$11, ""), ""))

向右和向下填充。

imgur 现在似乎坏了。http://imgur.com/a/xCqQb

如果您无权访问较新的工作表功能,请在此站点上搜索对问题的回答以获取替代方案。

于 2017-06-16T20:06:47.483 回答