如果我有两组数据,如何在 Excel 2007 中排列它们?
例如,如果一组数据
Position Occurrences
8 3
11 1
17 2
18 1
另一组数据
Position Occurrences
8 1
18 6
我该如何排列它,以便
Position Occurrences Position Occurrences
8 3 8 1
11 1
17 2
18 1 18 6
而不是
Position Occurrences Position Occurrences
8 3 8 1
11 1 18 6
17 2
18 1
答案1
OpenOffice 版本,应该很容易适应 Excel(我认为唯一的区别是 OO 使用分号来分隔函数参数,而 Excel 使用逗号):
给定两个标记为“数据集 1”(显示在下面的单元格 A3:B6 中)和“数据集 2”(显示在下面的单元格 D3:E6 中)的数据块:
- 将数据集 1 复制到新范围(如下图单元格 A10:B13 所示)。
在数据集 1(显示在单元格 D10 中)的右侧,输入以下公式:
=IF(ISNA(VLOOKUP($A10;$D$3:$E$6;1;0));"";VLOOKUP($A10;$D$3:$E$6;1;0))
在此单元格旁边(显示在单元格 E10 中),输入以下公式:
=IF(ISNA(VLOOKUP($A10;$D$3:$E$6;2;0));"";VLOOKUP($A10;$D$3:$E$6;2;0))
复制单元格 D10:E10 并粘贴到单元格 D11:E13。
其背后的想法是使用 来VLOOKUP
查找与 A 列中的值匹配的单元格。如果匹配的单元格是未找到(即VLOOKUP
函数返回 N/A 值),将一个空字符串放入单元格内容中。如果匹配的单元格是成立,将VLOOKUP结果放入单元格内容中。
答案2
根据 Mike Renfro 的回答,这是我在 Excel 下的操作方法:
给定两个标记为“数据集 1”(显示在下面的单元格 A3:B6 中)和“数据集 2”(显示在下面的单元格 D3:E6 中)的数据块:
- 将数据集 1 复制到新范围(如下图单元格 A10:B13 所示)。
在数据集 1(显示在单元格 D10 中)的右侧,输入以下公式:
=IFERROR(VLOOKUP($A10,$D$3:$E$6,COLUMN()-COLUMN($D10)+1,0),"")
将此公式复制并粘贴到 D10:E13
与 Mike 的回答的区别:
- 我没有手动输入列号,而是使用了公式
COLUMN
。 - 我没有做
VLOOKUP
两次,而是做了一次,然后IFERROR
如果找不到任何东西就用它。 - 正如 Mike 所说,我使用逗号而不是分号。
答案3
我阅读了上面的评论,基本上必须按照原始问题所说的那样进行布局,然后尝试了两个答案。第一个答案对我不起作用;我一定是做错了什么,或者不够聪明。然后尝试了第二个答案,并且相信我必须修改单元格以匹配我想要的。我有 2,566 个单元格必须在两个不同的列中匹配。所以这是我用于前三行的公式,然后复制/粘贴并向下拖动以粘贴所有 2,566 个单元格以进行匹配:
=IFERROR(VLOOKUP($D2,E2:E2566,COLUMN()-COLUMN($F2)+1,0),"")
=IFERROR(VLOOKUP($D3,E3:E2566,COLUMN()-COLUMN($F3)+1,0),"")
=IFERROR(VLOOKUP($D4,E4:E2566,COLUMN()-COLUMN($F4)+1,0),"")
当您将该公式粘贴到单元格中,然后慢慢单击括号内的每个部分时,它会显示哪些单元格被突出显示。通过这样做,我能够看到它正在查看哪些单元格,这对我来说更有意义。所以我只需突出显示整个列,或选择适当的单元格,它就可以了。然后我要做的就是将公式复制/粘贴到下一行和下一行,然后将其一直粘贴到我的文档中,它就会自动转换为正确的单元格。
希望这可以帮助。
答案4
我真的不确定如何给出比使用 Vlookup 更好的答案。