2014-01-09 3 views
1

Я ищу макрос в excel, который поможет мне, форматирование валюты ячейки на основе значения/текста другой ячейки. I.E: Cell B28 - это мое число (567), которое я хочу форматировать валюту. Cell B27 - это валюта, которую я хочу использовать, скажем, USD. Я хочу, чтобы, если B27 ссылается на USD, то число B28 будет преобразовано в $ 567.Формирование валюты на основе другого текста ячейки (EXCEL)

+0

Вы хотите одноразовое преобразование, или вы хотите ввести что-то вроде '= myConverter (567, B27)' в ячейке B28 и отобразить '$ 567'? Как вы планируете указывать валюту? – Floris

ответ

0

Вы можете применить условное форматирование с помощью Home -> Conditional Formatting -> New Rule

enter image description here

Выберите соответствующую ячейку или ячейки, создать новое правило, и в проверке формулы применить форматирование только тогда, когда B27 равен «USD».

+0

Я подозреваю, что это может быть сложно поддерживать, когда вы меняете рабочий лист, добавляете новые валюты и т. Д. У вас есть хорошее решение для этого? – Floris

+0

Вам понадобится использовать VBA. См. Эти вопросы, если вам необходимо создать и поддерживать это программно: http://stackoverflow.com/questions/13661965/conditional-formatting-using-excel-vba-code – mockinterface

0

Вы можете создать следующую функцию в модуле в вашей книге:

Function myConverter(v, r As Range) 

Select Case r.Value 
Case "USD" 
    myConverter = Application.WorksheetFunction.Text(v, "$0") 
    Exit Function 
Case "GBP" 
    myConverter = Application.WorksheetFunction.Text(v, "£0") 
    Exit Function 
' add any other cases you want here... 
Case Else 
' trap "unknown case": you could return "unknown format" or something else 
    myConverter = v 
End Select 

End Function 

Теперь вы можете ввести

=myConverter(567, A2) 

где клетка A2 содержит USD и получить

$567 

Очевидно, вы можете делать все, что хотите, с помощью Text format string ...

Смежные вопросы