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

818
Alan Frazin

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

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

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

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

1
[Коды ошибок Calc] (https://wiki.openoffice.org/wiki/Calc_Error_Codes): 508 Ошибка: отсутствует пара «Например, закрывающая скобка без открывающей скобки или отсутствующая закрывающая скобка в середине формулы (отсутствует закрывающая скобка в конец формулы добавляется автоматически). " DavidPostill 9 лет назад 0
Кроме того, Google «конвертер валют Excel» возвращает ссылки на бесплатные плагины Excel, которые выполняют конвертацию валют (и периодически обновляют курсы валют), загружаемую электронную таблицу Excel с обновленными курсами и другие интересные статьи о конвертации валют в Excel. Будет ли что-нибудь из этого работать в OpenOffice Calc? Понятия не имею, но они могут быть местом для начала. blm 9 лет назад 0
Большое спасибо за цитирование, Дэвид. Я уже видел это и проверял, и я не видел нигде, где я пропускал скобки. Если вы видите это, пожалуйста, дайте мне знать, где это. Я думал, что здесь есть что-то более зловещее, например, идея о том, что тест LEFT (D12, 1) = "$" просто не работает в openoffice. есть идеи? BLM, большое спасибо за это направление. Alan Frazin 9 лет назад 0
может случиться так, что текущее значение просто «показывается» по формату, а сама ячейка содержит только числовое значение ... вы это проверяли? Dirk Reichel 9 лет назад 0
Дирк, спасибо тебе за это. Я предполагал, что так оно и было, и затем я нашел превосходное решение с тестированием самого левого персонажа. Но даже если это просто форматирование и оно вообще не меняет содержимое ячейки, конечно, должен быть способ проверить форматирование и выполнить оператор if, основанный на этом, нет? На данный момент, если я не найду что-то в ближайшее время, мне придется использовать Excel, что я бы предпочел не делать. Alan Frazin 9 лет назад 0

1 ответ на вопрос

1
Lyrl

The error code is caused by using commas in the LEFT function where semicolons are needed (OpenOffice requires semicolons in most places that Excel uses commas).

In addition, as pointed out in the comments to this question, OpenOffice sees a number with currency formatting as just a number and the LEFT function will only return numbers from that cell.

To work around this, use Text to Columns to convert all currency numbers to text. Either on the original data, or on a copy in another column or sheet if you need to maintain the formatting as numbers on the original.

Highlight all the currency cells you are going to convert to text. Select Data→Text to Columns. At the bottom of the popup window, click on the column of cells you are converting to highlight them. Select column type "Text". Repeat if you are converting multiple columns. Click the OK button to perform the conversion.

Now your original formula will give a new error code because it objects to doing math on a text string. To fix this use the function VALUE to convert back to a number where necessary:

=IF(LEFT(D12; 1)="$";VALUE(D12)*Conversions.C4;IF(LEFT(D12; 1) = "€";VALUE(D12)*Conversions.B4; D12)) 
Lyrl, большое спасибо! Это многое объясняет. Но у меня есть осложнение. Электронная таблица предназначена для совместного проекта. Можно ли иметь формулу, которая будет постоянно преобразовывать данные в текст? В качестве альтернативы, если кто-нибудь знает, как это сделать в электронной таблице Google, мы подумали о том, чтобы перенести это на это. Еще раз спасибо! Alan Frazin 9 лет назад 0
Как вводятся данные? Если вручную, если вы установили Формат столбца на Текст, прежде чем вводить какие-либо данные, все значения будут текстовыми для начала. Если вы импортируете из файла CSV, вы можете выбрать тип столбца текста в диалоге импорта. Если вам нужны как числовые, так и текстовые копии: я не знаю ни одной функции для преобразования числа, включая форматирование дисплея, в текст, но функция `VALUE` преобразует текст в числа. Вы можете ввести элементы в виде текста и иметь столбец с формулами `VALUE`, чтобы получить отдельный столбец с эквивалентными числами. Lyrl 9 лет назад 0

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