Excel排列数据

我是一个完整的Excel结核,无法find我正在寻找的答案。 必须是容易的,但由于我没有进入Excel,我也不知道要找什么。 对不起,如果我有我的问题错了。

我在Excel中输出如下所示:

A 1 A 2 A 3 A 4 B 1 B 2 B 3 B 4 B 5 B 6 

我想要这样的:

 A 1 2 3 4 B 1 2 3 4 5 6 

这个问题在某种程度上是相当复杂的。
让我更详细地解释一下:

在这里输入图像说明

正如你在上面看到的,我们有两列AB ,在A列中有文本string,这些文本string可以重复。 正如你在例子中看到的,有4个A ,5个B ,3个C, 1个和3个E。 在列B中 ,这些string中的每一个具有不同的对应值。 例如,列A中的文本stringB在列B中具有五个对应的值,即11,12,13,14,15和16。

现在我们需要A列中的UNIQUE值列表,假设我们把这个列表放在列C中 ,然后为列C中的每一个唯一值,我们想列出它们在列B中的相应的单元格,并把它们放在HORIZONTALLY前面在列C中的这些唯一文本string中的每一个。

为此,你需要两种公式:

公式1计算列A中唯一值的列表
这在C2 :(离开C1空)

 =IFERROR(INDEX($A$1:$A$999;MATCH(0;FREQUENCY(IF(EXACT($A$1:$A$999;TRANSPOSE($C$1:C1));MATCH(ROW($A$1:$A$999);ROW($A$1:$A$999)); ""); MATCH(ROW($A$1:$A$999);ROW($A$1:$A$999))); 0)); "") 

这是一个数组公式,所以按Ctrl + Shift + Enter计算公式,然后在列C中拖动并填充任意数量。

*公式2查找并列出水平列B *

 =IFERROR(INDEX($B$1:$B$999;SMALL(IF($C2=$A$1:$A$999;ROW($A$1:$A$999)-ROW($A$1)+1);COLUMN(A$1)));"") 

这是一个数组公式,所以按Ctrl + Shift + Enter计算公式,把它放在D2中 ,拖动并填充直到列C的最后一个单元格。 然后selectD2D6水平拖放。 您应该获取每个唯一项目前面的所有对应单元格。

PS 通过更换来调整公式以满足您的区域设置 ; 我想。

最后,这里是从这里下载的示例表单的链接

这是非常通用的,但希望会有所帮助。

  1. 突出显示要转置的单元格。
  2. 键入公式…“= TRANSPOSE(B1:B4)”(根据需要编辑)。
  3. 单元格仍然高亮显示时,按“Ctrl + Shift + Enter”。 (方括号内应该出现括号)
  4. 完成编辑单元格。
  5. 庆祝