2

У меня есть текстовый столбец со значениями, объединенными моим банком, как в типовой ежемесячной выписке.

Вот пример (столбец A240):

OCT 26 BALANCEPROTECTOR PREMIUM $10.05

Я пытаюсь установить значение отдельного столбца, чтобы быть числовым значением суммы в долларах. Вот текущая формула, настроенная в настоящее время в столбце G240:

=SEARCH("\$[0-9]{1,6}\.[0-9]{2}";CLEAN(A240))

Я ожидаю увидеть 10,05 в результате, но то, что показывает, там $ 33,00 (столбец установлен в валюте). Исходное значение, входящее в него, равно 33, показывается, если я нажму форматирование по умолчанию.

Что-то не так с моим регулярным выражением, или я просто пропускаю некоторые опции? Я попытался показать = CLEAN(A240), и все выглядит так, как в A240, поэтому я знаю, что формула получает все необходимые данные.

Есть мысли или улучшения?

Спасибо!

ОБНОВИТЬ:

Я понял, что функция поиска возвращает положение регулярного выражения, а не строку. После прочтения я обновил формулу, и теперь она работает как положено:

=VALUE(MID(CLEAN(A240);SEARCH("\$[0-9]{1,6}\.[0-9]{2}";CLEAN(A240))+1;LEN("\$[0-9]{1,6}\.[0-9]{2}")))

2 ответа2

2

Получив небольшую помощь от pnuts, указывающих мне правильное направление, я нашел способ OpenOffice Calc сделать это без REGEX:

=RIGHT(A240;LEN(A240)-SEARCH("$";A240))

Обратите внимание на использование точек с запятой и пропущенных скобок.

Использование REGEX решило мою проблему в марте, но я решил это следующим образом:

=VALUE(MID(CLEAN(A240);SEARCH("\$[0-9]{1,6}\.[0-9]{2}";CLEAN(A240))+1;LEN("\$[0-9]{1,6}\.[0-9]{2}")))
0

Используйте одинарные кавычки. Это работало с egrep , но двойные кавычки не работали с egrep .

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