我有三列:
- A列包含从1到100的计数,代表不同的采样站。数字是按顺序排列的。
- B 列独立于 A 列。它包含 A 列中选定的数字(值介于 1 到 100 之间),但不是全部,因为我每次只获得包含部分站点数据的列表。B 列按升序排列,但比 A 列短,因为它缺少一些站点,并且没有空白单元格来使 B 列条目与 A 列条目对齐。
- C 列包含与 B 列相关的数据,例如采样站的温度读数或任何其他信息。
现在我想避免手动将所有信息从 C 列复制到与 A 列对齐的位置。我想将 B 列和 C 列的值与 A 列中的电台列表对齐,并根据需要在 B 列和 C 列中插入空格。之后可以删除 B 列。
举个例子:
ColA ColB ColC
1 1 a
2 2 d
3 4 r
4 6 e
5 7 x
6 9 r
7 10 e
8 11 f
9 13 e
10 15 e
...,...,...
之后看起来应该是这样的......
ColA ColB ColC
1 1 a
2 2 d
3
4 4 r
5
6 6 e
7 7 x
8
9 9 r
10 10 e
11 11 f
12
13 13 e
14
15 15 e
...,...,...
答案1
TL;DR 版本:将原始数据放在 A3:B102 中,用数字 1-100 填充 D3:D102,粘贴=IFNA(VLOOKUP($D3,$A$3:$B$102,2, FALSE), "")
在 E3 中,然后将 E3 复制到 E4:E102。
根据您对需求的描述,我建议将排序与原始数据分开,而是列出采样站并使用来VLOOKUP
查找每个采样站的数据。
你需要三样东西。
- 粘贴未分类和/或不完整的数据读数列表的地方。
- 这里应该有足够的空间容纳完整的数据集。
- 在这种情况下,由于您有 100 个采样站并且每个站有 1 个读数,因此您需要 100 行和 2 列。
- 在我的例子里,这将是范围A3:B102。
- 采样站列表以及放置其相关读数的位置。
- 此列表应按照您希望查看的顺序包含所有采样站。
- 再次,我们查看 100 个采样站,编号为 1-100,我们希望它们按数字顺序排列。这意味着我们需要用 1、2、3 等填充一列,直到 100,旁边的列将包含一个公式。
- 在我的例子中,采样站列表将进入D3:D102,公式将复制到E3:E102。
- 在排序数据的“读数”列中出现的公式,用于在未排序的数据中查找适当的数据。
- 您应该理解绝对引用和相对引用,因为此公式同时使用了:
- 大多数人都熟悉相对引用,例如D3。这些引用在从一个单元格复制到另一个单元格时会发生变化。
(例如,如果你=D3
输入E3,然后复制E3到E4,新副本在E4将会读到=D4
。) - 绝对引用
$
在列和/或行上包含 ,以防止其在复制时发生变化。
(例如,复制时列永远不会改变=$D3
,但行会改变;同样,使用=D$3
,列会改变,但行不会改变;最后=$D$3
将始终引用该单元格,复制时永远不会改变。)
- 大多数人都熟悉相对引用,例如D3。这些引用在从一个单元格复制到另一个单元格时会发生变化。
- 公式位于排序数据读数的顶行,然后应复制到其下方的 99 个单元格中。
- 查找正确数据的公式E3是
=VLOOKUP($D3,$A$3:$B$102,2, FALSE)
,但这会将 放置#N/A
在引用不存在数据的单元格中。如果您想要空格而不是 ,则#N/A
需要将 放在VLOOKUP
内IFNA
。
- 您应该理解绝对引用和相对引用,因为此公式同时使用了:
此示例的完整公式如下=IFNA(VLOOKUP($D3,$A$3:$B$102,2, FALSE), "")
,结果如下:
答案2
- 定义要排序的数据范围(菜单/数据/定义范围)
- 在菜单/数据/排序中设置排序选项,
- 按所需顺序选择列(排序条件选项卡)
- 如果范围包含列标签,则正确标记。
- 标记“复制排序到”并输入目标范围(复制所有列)