在Excel电子表格中对值进行排序

use*_*488 5 excel excel-formula

我有一个充满姓名和人物角色的电子表格,如下所示:

Role Name  Change
1     A     Yes
2     A     No
5     A     N/Ap
1     B     Yes
3     B     No
2     C     Yes
4     C     No
Run Code Online (Sandbox Code Playgroud)

我必须提出一个如下所示的电子表格:

     1        2        3        4        5        6
A   Yes                     
B                       
C                       
Run Code Online (Sandbox Code Playgroud)

基本上,它应该从第一个电子表格中检索信息,并在第二个电子表格中清楚地列出.

有太多的名称和角色可以手动完成.VLMOVE将无法正常工作.我曾尝试MATCHINDEX.

Roc*_*key 2

同意@Melanie,如果你可以将数据强制转换为可以解释为数字的结构(例如,1 表示是,0 表示错误),那么数据透视表无疑是最简单的方法(因为它们会将数字显示为值 - 不是文本)。*(见下文)

\n\n

如果你想显示任意文本,你可以试试这个:

\n\n
=IF(\n    SUMPRODUCT(--($A$2:$A$8=F$1),--($B$2:$B$8=$E2),ROW($A$2:$A$8))=0,"",\n    INDEX(\n        $A$1:$C$8,\n        SUMPRODUCT(--($A$2:$A$8=F$1),--($B$2:$B$8=$E2),ROW($A$2:$A$8)),\n        3))\n
Run Code Online (Sandbox Code Playgroud)\n\n

这会检查SUMPRODUCT三列的总计是否为 0(当没有 x/y 组合匹配时(例如Name: CRole: 5),就会发生这种情况,如果是,则返回""。否则,返回列 中的值Value

\n\n

在此输入图像描述

\n\n
\n\n
\n\n

*\xe2\x80\x98 数据透视表选项\xe2\x80\x99会将更改表示为数字(例如,复制为 D2 中的公式)。然后从(在示例中)A1:D8 创建一个数据透视表,其中字段如图所示。使用“选择性粘贴”/“值”将数据透视表复制到另一个工作表(尽管在示例中显示在同一工作表的 F11:K15 中)。然后在另一张工作表中选择以名称 A 开头并根据需要向下延伸的行,将 -1 替换为“否”,将 1 替换为“是”,将 0 替换为“N/Ap”。

\n\n

在此输入图像描述

\n