Filter 选择包含小时而非半小时的行

Filter 选择包含小时而非半小时的行,filter,libreoffice,calc,Filter,Libreoffice,Calc,如何仅提取具有小时而非半小时的行i libreoffice 2014/06/15 19:30:00 2014/06/15 20:00:00 2014/06/15 20:30:00 => 事实证明,我可以: 使用a=right(D1;8)提取时间部分 Do a=IF(分钟(D1)0,“,1) 按1排序并删除空单元格 但是,必须有更好、更整洁的方法 Nicolai正如moggi指出的,这取决于时间数据的呈现方式: 如果您的值是LO Calc的有效日期/时间值,则只需对完整值应用MINUTE()函

如何仅提取具有小时而非半小时的行i libreoffice

2014/06/15 19:30:00
2014/06/15 20:00:00
2014/06/15 20:30:00
=>


事实证明,我可以:

  • 使用a=right(D1;8)提取时间部分
  • Do a=IF(分钟(D1)0,“,1)
  • 按1排序并删除空单元格
  • 但是,必须有更好、更整洁的方法


    Nicolai

    正如moggi指出的,这取决于时间数据的呈现方式:

    • 如果您的值是LO Calc的有效日期/时间值,则只需对完整值应用
      MINUTE()
      函数即可提取分钟数,并将其与0进行比较
      “有效日期/时间”是指,例如,日期/时间值
      2014/06/15 19:30:00
      在内部表示为双值
      40343.8125
      。将其显示为日期/时间是一个格式问题。可以通过在未格式化的单元格中手动输入双精度值并将格式更改为日期值来检查这一点

    • 如果您的值是文本值,则可以使用正则表达式将整小时时间值与
      *[:digit:{2}:00:00$
      之类的值进行匹配。您可以在菜单
      数据
      ->
      过滤器
      ->
      标准过滤器
      高级过滤器
      中使用此正则表达式;不要忘记在过滤器的
      选项下启用正则表达式


    因此,这在很大程度上取决于时间数据的表示方式。通常,任何日期/时间都表示为双精度值,其中1==24小时。字符串表示形式只是一种数字格式。所以,如果你的单元格真的包含数字,你可以检查它们是否是1/24的倍数。
    2014/06/15 20:00:00