如何将多行转换为具有唯一ID的多列,而无需代码IN MS EXCEL或MS ACCESS

时间:2014-12-10 16:41:45

标签: excel ms-access

我有数据:

ID    IMAGE
--    ------
1     1.JPG
1     5.JPG
1     12.JPG
1     4.JPG
2     9.JPG
2     41.JPG
2     4.JPG

必填结果:

ID    IMAGE 1    IMAGE 2     IMAGE 3    IMAGE 4
--    -------    -------     -------    -------
1     1.JPG      5.JPG       12.JPG     4.JPG
2     9.JPG      41.JPG      4.JPG

1 个答案:

答案 0 :(得分:2)

enter image description here

C栏中使用的公式:

=" IMAGE"& COUNTIF(A2:A8,A2)&" - "& A2

重要的是A2:A8涵盖了整个数据范围(如果它大于数据范围则无关紧要)。这基本上为每个图像/ ID对创建了一个唯一的键,可以在F2:M3的表格中引用(表格下面的注释错误地指出G2:M3 - 我的错字!)当你填写下面的列C时它会计算ID的所有后续实例并相应地更改查找键。

D列只是重复B列中数据的图像名称

我创建了一个涵盖C1:D8的命名区域(这应该涵盖您拥有的数据列的全长,在Excel 2010中的公式'下定义命名范围 - 选择范围,并给它一个名称,我称之为我的ID_IMAGE_LOOKUP。

我复制了ID列并使用了Excel'删除重复项' “数据”选项卡中的功能只保留唯一ID,然后在顶行中列出图像1 ... 7。

现在我准备在单元格F2中创建一个公式,该公式引用E2中的唯一ID列:E3和图像#number标题行F1:L1如下:

= IFERROR(VLOOKUP(F $ 1和;" - "&安培; $ E2,ID_IMAGE_LOOKUP,2,FALSE),"&#34)

注意$符号修复E上的列引用和1上的行引用,当我复制/粘贴/拖动公式以填充表中的所有框时,公式将始终引用标题行和ID列

我已经假设您不会对列出图像的顺序感到困惑,因为这会给出反向列表(请参阅ID的第一张图片是4.jpg)。如果这是一个问题,它会有点复杂,但这种方法可以调整到适合,比如从ID计数的MAXIF()获取ID的当前计数?可能需要两个计数列以避免循环引用?

评论是否卡住/这没有意义

抱歉延迟回到你身边,比我预期的更长的一天!