在Excel中反向滚动数据

我有这样的数据,如下所示:

捕获器

我想转换它是这样的:

捕捉2

我通常使用VLOOKUP或HLOOKUP这个场景,但是我有多个用户查看相同的表示,所以这些选项不起作用,因为他们只返回第一个实例,而不是任何后续的实例。 任何帮助表示赞赏。

你也可以尝试这个数组公式:可以扩展到任意数量的列:

=IFERROR(INDEX($A:$A,SMALL(IF($B$2:$D$4=$F2,ROW($B$2:$D$4)),COLUMNS($A:A))),"") 

假设原始列表在A1中开始,在F1中新的列表。

必须使用Ctrl Shift Enter进行input

这个想法是IF语句为Bob创build了一个TRUE和FALSE的二维数组:

 TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE 

如果结果为真,则从IF语句的第二部分获取相应的行号: –

 2 3 4 

 2 FALSE FALSE 3 FALSE FALSE FALSE FALSE FALSE 

关于使用IF语句的一点是,当SMALL函数忽略的条件不成立时,它会给出FALSE – 如果只是将这些值相乘,那么会得到一些零,数组中的最小值将始终为零。

然后,所有要做的就是使用小的列($ A:A)select这些元素的最小,次小等等 – 从1开始,到2,3等。

结果被用作列A的索引以给出演示。 当公式被拉过时,它给出下一个表示,直到它出错并显示一个空单元。

在这里输入图像描述

你可以使用countifs()来做到这一点,

例如,你可以添加一个转换单元到G2=COUNTIFS($B:$B,$F2,$A:$A,G$1)+COUNTIFS($C:$C,$F2,$A:$A,G$1)+COUNTIFS($D:$D,$F2,$A:$A,G$1)

你需要扩展你想要的每一列的+countifs() ,比如你在你的例子中有三个,所以需要三个countifs()

结果: 显示countifs的excel图像()

那么你将需要改变这是你想要的话:

(假设“如何在上表中使用excel在单元格G2

 =IF(G3=1,G$2,"") 

将这样做:

在这里输入图像说明

这不是最具可扩展性的解决scheme(如果您的审阅人数太多,但无论审稿人名称的数量如何,都可以工作。

另外, =IF(G3=1,G$2,"")可以合并到整个解决scheme中,但最好将其分开展示以显示工作。

使用数组公式可以很容易地做到这一点,如下图所示:

在这里输入图像描述

G2中的公式是:

 =IFERROR(INDEX($A:$A,SMALL(IF(($B$2:$B$6=$F2)+($C$2:$C$6=$F2)+($D$2:$D$6=$F2),ROW($A$2:$A$6)),G$1)),"") 

这是一个数组公式,必须用Ctrl + Shift + Enter确认

从那里,你可以复制到任何地方;)