1

У меня есть таблица, в которой много разных валют ($, евро, шекель). Я хочу отобразить фактическую цену в исходной валюте, а затем показать конвертированную цену (в данном случае в шекели). Я нашел формулу для этого с помощью Excel, но когда я пытаюсь использовать его в openoffice, он не работает, я получаю ошибку 508. Вот формула, которую я придумал:

=IF(LEFT(D12, 1)="$";D12*Conversions.C4;IF(LEFT(D12, 1) = "€";D12*Conversions.B4; D12))

Где D12 - это ячейка с первоначальной ценой, Конверсии.C4 - это ячейка для преобразования $ в шекели и преобразования.B4 - это ячейка для конвертации евро в шекели.

В качестве дополнительных и бонусных баллов, если кто-нибудь знает, как подключать постоянно обновляемую формулу конвертации валюты (вместо того, чтобы искать и вручную менять курс каждую неделю / месяц / что угодно), я был бы очень признателен.

1 ответ1

1

Код ошибки вызван использованием запятых в функции LEFT где необходимы точки с запятой (OpenOffice требует точки с запятой в большинстве мест, где Excel использует запятые).

Кроме того, как указано в комментариях к этому вопросу, OpenOffice видит число с форматированием валюты как просто число, а функция LEFT будет возвращать только числа из этой ячейки.

Чтобы обойти это, используйте Text to Columns для преобразования всех номеров валют в текст. Либо на оригинальных данных, либо на копии в другом столбце или листе, если вам нужно сохранить форматирование в виде чисел на оригинале.

Выделите все ячейки валюты, которые вы собираетесь конвертировать в текст. Выберите Данные → Текст в столбцы. В нижней части всплывающего окна щелкните столбец ячеек, который вы конвертируете, чтобы выделить их. Выберите тип столбца "Текст". Повторите, если вы конвертируете несколько столбцов. Нажмите кнопку ОК, чтобы выполнить преобразование.

Теперь ваша исходная формула даст новый код ошибки, потому что она возражает против выполнения математических операций в текстовой строке. Чтобы исправить это, используйте функцию VALUE для преобразования обратно в число, где это необходимо:

=IF(LEFT(D12; 1)="$";VALUE(D12)*Conversions.C4;IF(LEFT(D12; 1) = "€";VALUE(D12)*Conversions.B4; D12))

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