В Open Office Spreadsheet у меня есть ячейки со строками типа "123 кг", "3,45 м", "0,5 г", "345 яблок" и т.д.

Какая функция может анализировать числовой префикс по этим числам? Поэтому я получаю "123", «3,45», «0,5», "345".

Функция VALUE ожидает 100% правильное числовое значение без постфиксов. Он не может анализировать только префикс.

1 ответ1

1

Предполагая, что вы хотите манипулировать данными ячейки A1:

=IF(ISERR(LEFT(A1;SEARCH("[^0-9.,]";A1)-1));A1;LEFT(A1;SEARCH("[^0-9.,]";A1)-1))

Вы можете хотеть только сохранить . или , как разделитель в (двух) регулярных выражениях.

Он берет первые x символов вашей ячейки, где x - это первый нечисловой (или не десятичный разделитель) символ. IF(ISERR(...)) гарантирует, что у вас все еще есть номер на случай, если у вас нет буквенных символов вообще. Вы можете удалить его, если все наши значения имеют единицу измерения.

Вы должны проверить опцию в « Tools > Options > OpenOffice.org Calc > Calculate > Enable regular expressions in formulas ».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .