如何在多列中找到特定值,然后在另一列中显示找到该特定值的列名

如何在多列中找到特定值,然后在另一列中显示找到该特定值的列名

我有一个如下所示的数据集:

ID    Assignment    Sex   Age_0_34   Age_35_45
1      MBT           F    0%          0%
1      MBT           F    0%          0%
2      MBT           F    0%          2.5%
2      MBT           F    0%          0%
3      MBT           F    1.5%        0%
3      MBT           F    0%          0%
4      MBT           F    0%          0%
4      MBT           F    0%          1.2%

在此处输入图片描述

我希望最后一列之后的内容是这样的:

ID    Assignment    Sex   Age_0_34   Age_35_45   Age
1      MBT           F    2.0%        0%         Age_0_34
1      MBT           F    0%          5.0%       Age_35_45
2      MBT           F    0%          2.5%       Age_35_45
2      MBT           F    0%          0%         0         
3      MBT           F    1.5%        0%         Age_0_34
3      MBT           F    0%          0%         0
4      MBT           F    3.5%        0%         Age_0_34
4      MBT           F    0%          1.2%       Age_35_45

在此处输入图片描述

所以基本上我想做的是创建一个值大于 1% 的列,并在该行旁边的最后一列中显示列名

答案1

您可以使用过滤功能来实现这一点:

在此处输入图片描述

在新列中使用此公式(适当调整引用):

=IFERROR(FILTER($K$1:$L$1,$K2:$L2>0),0)

您可能希望将末尾的零更改为空字符串,即

=IFERROR(FILTER($K$1:$L$1,$K2:$L2>0),"")

答案2

假设您的初始数据集有误,对于两个年龄列,您可以使用以下公式:

M2: =IFERROR(INDEX($H$1:$L$1,3+ MATCH(TRUE,$K2:$L2>=1%,0)),0)

并根据需要向下填充。

在此处输入图片描述

答案3

尝试这个公式:

=IF(AND(D2=0,E2=0),0,IF(D2>E2,$D$1,$E$1))

在此处输入图片描述

相关内容