OpenOffice Calc формула "if" для валют

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

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

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

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

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))
Другие вопросы по тегам