![如何在 libre office 中采用可变数量的行并将每行放在单独的列中](https://linux22.com/image/1333226/%E5%A6%82%E4%BD%95%E5%9C%A8%20libre%20office%20%E4%B8%AD%E9%87%87%E7%94%A8%E5%8F%AF%E5%8F%98%E6%95%B0%E9%87%8F%E7%9A%84%E8%A1%8C%E5%B9%B6%E5%B0%86%E6%AF%8F%E8%A1%8C%E6%94%BE%E5%9C%A8%E5%8D%95%E7%8B%AC%E7%9A%84%E5%88%97%E4%B8%AD.png)
我有大约 1,200 行,我想将它们每 20 行放入一列。我该怎么做才能不手动复制和粘贴一百次?另外,我想将每个结果列的值相加并取平均值。谢谢你的帮助!
答案1
在 LibreOffice 中可能有办法做到这一点,但我认为使用脚本语言会更简单,例如Perl
。将工作表保存到文本文件(例如input.txt
)并运行以下命令:
perl -ne '
BEGIN{ $i=0 }
chomp;
if (defined $arr[$i]) {
$arr[$i] .= ",".$_;
} else {
$arr[$i] = $_;
}
$i = ($i + 1) % 20;
END { print join "\n", @arr }
' input.txt > output.csv
output.csv
在 LibreOffice 中导入。
答案2
您可能可以使用 Excel 中的“ =OFFSET() ”函数来执行此操作,或者由于您使用的是 Libre Office,我认为它有一个类似的函数“ =INDEX() ”。