Проблема с сортировкой даты в LibreOffice Calc

Я очень потерялся в этой ситуации:

Моя цель - сортировать серию дат. Когда я пытаюсь сортировать даты в столбце [например, 12/06, 09/16, 08/13 (MM / YY)], я получил следующее:

08/13 09/16 12/06

Проблема в том, что декабрь 2006 года до августа 2013 года!

1
задан 10 May 2017 в 13:11

2 ответа

Проблема в том, что столбец, который вы пытаетесь сортировать, не содержит значений даты типа данных, но, скорее всего, текстовых строк. Чтобы отсортировать их, вам придется конвертировать их в дату. Например. если данные находятся в поле A2, вы можете ввести B2

=DATE(RIGHT(A2;2);LEFT(A2;2);28)

Обратите внимание, что для формата даты также нужен день (для простоты я выбираю 28).

Также обратите внимание, что просто изменение формата (визуальное представление данных) не изменит его тип данных (и это хорошо).

Базис, содержащийся в любой ячейке, будет иметь один из пяти типов: тип текстовой строки , тип числа, тип формулы, логический тип или тип ошибки. Эти пять типов значений данных могут затем иметь различные форматы отображения, так что, например, числовое значение может отображаться как число, денежная сумма, дата или время. Текстовые строки представляют собой последовательности символов и знаков препинания и могут содержать, например, текстовую информацию, такую ​​как имена людей. Значения числа - это просто цифры, но могут вводиться и отображаться в различных форматах, включая десятичные числа, даты, время и числа в научной нотации. (это на самом деле экстракт из документации GNUMERIC, но он более ясен, чем что-либо, что я нашел для libreoffice).

Вам нужно будет использовать формулу для изменения типа данных, поскольку calc не может сделать разумное предсказание что вы имеете в виду до 12/06.

2
ответ дан 18 July 2018 в 13:32

Проблема в том, что столбец, который вы пытаетесь сортировать, не содержит значений даты типа данных, но, скорее всего, текстовых строк. Чтобы отсортировать их, вам придется конвертировать их в дату. Например. если данные находятся в поле A2, вы можете ввести B2

=DATE(RIGHT(A2;2);LEFT(A2;2);28)

Обратите внимание, что для формата даты также нужен день (для простоты я выбираю 28).

Также обратите внимание, что просто изменение формата (визуальное представление данных) не изменит его тип данных (и это хорошо).

Базис, содержащийся в любой ячейке, будет иметь один из пяти типов: тип текстовой строки , тип числа, тип формулы, логический тип или тип ошибки. Эти пять типов значений данных могут затем иметь различные форматы отображения, так что, например, числовое значение может отображаться как число, денежная сумма, дата или время. Текстовые строки представляют собой последовательности символов и знаков препинания и могут содержать, например, текстовую информацию, такую ​​как имена людей. Значения числа - это просто цифры, но могут вводиться и отображаться в различных форматах, включая десятичные числа, даты, время и числа в научной нотации. (это на самом деле экстракт из документации GNUMERIC, но он более ясен, чем что-либо, что я нашел для libreoffice).

Вам нужно будет использовать формулу для изменения типа данных, поскольку calc не может сделать разумное предсказание что вы имеете в виду до 12/06.

2
ответ дан 24 July 2018 в 20:12
  • 1
    Я много раз пробовал форматировать ячейку в форме «даты». а не в цифрах / ... У меня нет дней, я сортирую научные статьи, которые у них есть только месяц и год pubblication (и некоторые из них не имеют месячного распространения)! – Alessandro Monti 10 May 2017 в 13:18
  • 2
    Большое спасибо за вашу помощь. Я понял, что ты сказал. теперь я пытаюсь преобразовать число в форме даты с вашей формулой [= DATE (RIGHT (A2; 2); LEFT (A2; 2); 28)], но он не работает – Alessandro Monti 10 May 2017 в 13:25
  • 3
    Я думаю, что правая и левая команда [= DATE (** RIGHT ** (A2; 2); ** LEFT ** (A2; 2); 28)] не работают хорошо – Alessandro Monti 10 May 2017 в 13:29
  • 4
    Это странно. Если вы перейдете в ячейку, где сказано 12/06, и щелкните правой кнопкой мыши по ячейкам формата. Что он показывает вам как формат? Кстати, я использую европейские разделители (;), а не США (,). – Bruni 10 May 2017 в 13:33
  • 5
    Я сделал что-то не так на этом сайте. Но мой компьютер, если я текст в формате даты (MM / AA) -format-cell 12/06, преобразует его в 12/16/17 – Alessandro Monti 10 May 2017 в 13:41

Другие вопросы по тегам:

Похожие вопросы: