如何在 Libreoffice Calc 中用另一个值替换部分格式化日期?

问题描述 投票:0回答:1

我在 Ubuntu 22.04 上使用 Libreoffiec 7.5(当前最新版本)

我有很多单元格的日期值都是用德语语言环境格式化的(如果这很重要的话),比如

1.4.2023
4.4.2023

我想用不同的(有效)数字替换所有这些单元格中的月份或年份。我该怎么做呢?普通搜索和替换不起作用可能是因为它扫描实际值,这是一个数字,而不是格式化日期。最好不必事先计算多少天或多少秒,或者我必须添加到日期以结束 N 年或几个月的转变。

如果上述不可能,则计划 B:我如何快速告诉 Libreoffice(通过热键?)它应该自动将 specific 年份填充到收到没有年份的日期的单元格中,这样当我键入

1.4.
( 4 月 1 日)它不会自动填充 current 年,但我之前指定的年份到日期?这应该至少持续到关闭 LibreOffice,或者直到设定下一年。

date replace libreoffice-calc
1个回答
0
投票

这两个问题的简短答案没办法.

更多细节:无论单元格与日期的格式如何,查找和替换操作都不会执行所需的操作(你是对的,这是由于日期的内部表示为天数从“基准日期”开始计算,工具 - 选项 - LibreOffice Calc - 计算 - 日期部分);输入不完整的日期 (day.month) 总是指当前年份。

完整答案.

转换现有数据的一般建议:始终分两个阶段进行转换 - 创建一个辅助范围,在其中使用公式或内置 Calc 机制创建必要的数据,在仔细检查转换的正确性后,使用复制和选择性粘贴- 代替原始数据的值和明确的辅助范围。

假设您在问题中显示的日期作为示例在 A 列中。

使用Year()Month()Day()函数获取原始日期的相应部分,使用DATE()函数生成新日期并进行必要的更正。

比如要得到比原来晚一年半的日期,可以用公式

=DATE(YEAR(A2);MONTH(A2)+18;DAY(A2))

=DATE(YEAR(A2)+1;MONTH(A2)+6;DAY(A2))

当然,您可以用固定值代替 DATE() 函数的任何参数。例如,

=DATE(1827;MONTH(A2);DAY(A2))
将从单元格 A2 返回日期和月份,但对于 1827(因此您可以实施您描述的 B 计划)。

除了此处描述的四个函数外,Calc 还包含大量用于处理日期的函数。您可以在函数向导的日期部分看到它们:

Wizard

或者您可以在相应的帮助部分

中阅读每个功能的详细描述

Help

© www.soinside.com 2019 - 2024. All rights reserved.