表1: A栏:电子邮件 B栏:名称 C栏:行动
表2 B栏:名称
*表1中有名称,因此每个名称可能有不同的操作和电子邮件。 **表2中有一些名称不在表1中 ***有超过1000行。
如何返回sheet2中的值,以便我拥有电子邮件,常用名称和操作tgt。 Horinzontally。
答案 0 :(得分:0)
首先,Sheet1中需要一个额外的列来计算每个名称的出现次数。其次,在Sheet2中,您需要在Sheet1中匹配名称及其出现。
下面的图片显示了(在单张纸上)您可能想要调整的安排。
在我的示例中,我允许每个名称最多包含5个电子邮件/操作对,尽管该解决方案显然可以根据您的数据要求进行调整。
解决方案使用“input”表中的COUNTIF()
函数生成每个名称的出现次数。
在“输出”表中,5个辅助列标识与名称的第1,第2,...个匹配项匹配的输入表的行号,其中零表示不匹配。 SUMPRODUCT()
函数生成此行号。其余列只是从输入表中选择适当的电子邮件/操作。
可以在“输出”中避免使用辅助列,但这会以G2
中=IF(G2>0,INDEX($B$2:$B$9,G2),"")
中的单个单元格引用替换相应的SUMPRODUCT()
表达为代价。 。 IF()
是必要的,因为INDEX()
函数在其第二个参数等于零时具有特殊行为。
在我的图片中获取输出表(范围L2:U2)中第一行电子邮件/操作对的正确公式有点单调乏味,并且有很多方法(基于使用COLUMN()
函数计算适当的辅助列号)。但是,该解决方案旨在构建一个基础,因此我保持简单。
解决方案假设输入中的每个电子邮件/操作对将在输出中保持不同。因此,如果输入中的名称具有两个(或更多)具有公共电子邮件的电子邮件/操作对,则该解决方案不会将这两个操作与该公共电子邮件相结合。可以这样做,但它需要将附加信息添加到“输入”表 - 即与特定名称/电子邮件组合相关联的操作的发生。