Excel:基于公共单元格值对行中的值进行分组

Excel:基于公共单元格值对行中的值进行分组,excel,csv,excel-formula,Excel,Csv,Excel Formula,我有一个Excel文件,其中包含组和属于组的用户的列表。我需要生成属于每个组的用户列表。关键点:虽然这在perl、python或任何其他编程语言中都是一项微不足道的任务,但我希望在Excel中完成全部工作,这样我就不必导出到csv,重新导入结果,并在每次发生更改时重新进行格式化 导出为csv时的文件格式类似于: Group, username, email Perl Jam, evedder, evedder@pj.com Perl Jam, mcameron, mcameron@soundga

我有一个Excel文件,其中包含组和属于组的用户的列表。我需要生成属于每个组的用户列表。关键点:虽然这在perl、python或任何其他编程语言中都是一项微不足道的任务,但我希望在Excel中完成全部工作,这样我就不必导出到csv,重新导入结果,并在每次发生更改时重新进行格式化

导出为csv时的文件格式类似于:

Group, username, email
Perl Jam, evedder, evedder@pj.com
Perl Jam, mcameron, mcameron@soundgarden.com
Perl Jam, jament, jament@pj.com
Perl Jam, sgossard, sgossard@pj.com
Perl Jam, mmccready, mmccready@pj.com
Soundgarden, mcameron, mcameron@soundgarden.com
Soundgarden, ccornell, ccornell@soundgarden.com
Soundgarden, kthayill, kthayill@pj.com
Soundgarden, bshepherd, bshepherd@pj.com
Temple of the Dog, evedder, evedder@pj.com
Temple of the Dog, ccornell, ccornell@soundgarden.com
Temple of the Dog, jament, jament@pj.com
Temple of the Dog, sgossard, sgossard@pj.com
Temple of the Dog, mmccready, mmccready@pj.com
Temple of the Dog, mcameron, mcameron@soundgarden.com
最后我想说的是:

Group, usernames
Perl Jam, evedder, mcameron, jament, sgossard, mmccready
Soundgarden, mcameron, ccornell, kthayill, bshepherd
Temple of the Dog, evedder, mcameron, ccornell, jament, sgossard, mmccready

要获取唯一列表,请使用以下数组公式:

=IFERROR(INDEX($A$2:$A$16,MATCH(0,COUNTIF($E$1:E1,$A$2:$A$16),0)),"")
作为一个数组公式,在退出编辑模式时,需要使用Ctrl-Shift-Enter而不是Enter进行确认。如果操作正确,Excel将在公式周围放置{}

输入第一个单元格,按Ctrl-Shift-Enter键,然后向下复制,直到得到空白

要获取用户名,请执行以下操作:

=IFERROR(INDEX($B:$B,AGGREGATE(15,6,ROW($A$2:$A$16)/($A$2:$A$16=$E2),COLUMN(A:A))),"")
其中,$E2是另一个公式所在的单元格

然后从上到下复制


您是否考虑过创建透视表?它不一定是您最终得到的列表,但它是一种动态排序数据的方法。你甚至可以这样做,你可以从一个用户名开始,然后看看他们列在哪个组下。