根据另一列中的数字对齐 LibreOffice Calc 中的数据列

根据另一列中的数字对齐 LibreOffice Calc 中的数据列

我有三列:

  • 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查找每个采样站的数据。

你需要三样东西。

  1. 粘贴未分类和/或不完整的数据读数列表的地方。
    • 这里应该有足够的空间容纳完整的数据集。
    • 在这种情况下,由于您有 100 个采样站并且每个站有 1 个读数,因此您需要 100 行和 2 列。
    • 在我的例子里,这将是范围A3:B102
  2. 采样站列表以及放置其相关读数的位置。
    • 此列表应按照您希望查看的顺序包含所有采样站。
    • 再次,我们查看 100 个采样站,编号为 1-100,我们希望它们按数字顺序排列。这意味着我们需要用 1、2、3 等填充一列,直到 100,旁边的列将包含一个公式。
    • 在我的例子中,采样站列表将进入D3:D102,公式将复制到E3:E102
  3. 在排序数据的“读数”列中出现的公式,用于在未排序的数据中查找适当的数据。
    • 您应该理解绝对引用和相对引用,因为此公式同时使用了:
      • 大多数人都熟悉相对引用,例如D3。这些引用在从一个单元格复制到另一个单元格时会发生变化。
        (例如,如果你=D3输入E3,然后复制E3E4,新副本在E4将会读到=D4。)
      • 绝对引用$在列和/或行上包含 ,以防止其在复制时发生变化。
        (例如,复制时列永远不会改变=$D3,但行会改变;同样,使用=D$3,列会改变,但行不会改变;最后=$D$3将始终引用该单元格,复制时永远不会改变。)
    • 公式位于排序数据读数的顶行,然后应复制到其下方的 99 个单元格中。
    • 查找正确数据的公式E3=VLOOKUP($D3,$A$3:$B$102,2, FALSE),但这会将 放置#N/A在引用不存在数据的单元格中。如果您想要空格而不是 ,则#N/A需要将 放在VLOOKUPIFNA

此示例的完整公式如下=IFNA(VLOOKUP($D3,$A$3:$B$102,2, FALSE), ""),结果如下:
原始数据,(空白列),排序数据

答案2

  1. 定义要排序的数据范围(菜单/数据/定义范围)
  2. 在菜单/数据/排序中设置排序选项,
  3. 按所需顺序选择列(排序条件选项卡)
  4. 如果范围包含列标签,则正确标记。
  5. 标记“复制排序到”并输入目标范围(复制所有列)

相关内容