如何重新排列或重新排序工作表的内容(LibreOffice Calc)

如何重新排列或重新排序工作表的内容(LibreOffice Calc)

如何重新排列或重新排序 LibreOffice Calc 中工作表的内容?

更具体地说,我的具体情况如下:

我有一张 1 列 130 行的电子表格。每行包含一个引文(一串字符?)。

例如:

The dog ate the biscuits!
Set theory demolishes clouds.
Hello world?

我想按照以下要求重新排列/重新排序这些引文:

58 89 40 36 39 41 117 99 ...

经过重新排列/重新排序后,原来位于第 58 行的引语将位于第 1 行;原来位于第 89 行的引语将位于第 2 行;原来位于第 40 行的引语将位于第 3 行;第 36 行到第 4 行;等等……

我有一组总共 130 个数字的序列(1-130)(58 89 40 36 39 41 117 99...),我希望按照这些数字进行重新排序/重新排列。

我如何使用 LibreOffice Calc 根据这个新顺序、这个数字序列重新排列/重新排序工作表的内容?

答案1

把你的引文放在 A 列,把你的序列放在 B 列。

在 C 列中,使用

=INDEX($A1:$A130,B1)

将其复制并粘贴到 C 列下方。

index 命令会根据您提供的索引提取某个范围的内容。由于您的序列是您希望 A 列项目所处的顺序,因此 C 列将按正确的顺序填充。

一旦有了 C 列,您就可以复制并特殊粘贴将其转换为文本,方法是在粘贴选项中仅选中文本。

答案2

这是一个可能的解决方案:

  • 首先,创建排序列

  • 第二,将排序列附加到您的文本列并根据排序列进行排序。

下面是一个较短序列的示例,采用单步骤,将字符串A B C D E F G H I重新排列为I A H B G C F D E(这是根据序列重新排列9 1 8 2 7 3 6 4 5- 字符串从第 9 位到第一位,从第 1 位到第二位,从第 8 位到第三位,依此类推):

根据排序顺序创建排序行

  • 将排序序列粘贴到文本文件中,保存为order.csv.csv很重要!);
  • 使用 OpenOffice.org Calc打开order.csv;您将获得一张包含单元格 A1 到 I1 的表格,其中包含该序列。
  • 添加第二行,数字从 1 开始(只需输入 1 和 2,标记单元格并扩展范围,其余数字将自动填充)。您的工作表将如下所示:

    行

  • 将表格的行转换为列:

    • 选择 A1 至 I2,
    • cutCTRL+ X
    • 选择 A1
    • Paste SpecialCTRL++ SHIFTV,在Paste Special对话框中,从选项中选择Transpose。结果将如下所示:

    列

    • 对订单序列进行排序(A列),结果如下:

    排序列

    现在,您在 B 列中有了“目标行”。

将排序列应用于字符串列

  • 将第一部分的 B 列复制到包含字符串的 Calc 表中。结果将如下所示:

    具有排序目标的字符串

  • 现在,字符串旁边就有了目标行。只需根据 B 列对表格进行排序即可。结果将如下所示:

    结果

相关内容