Вопрос или проблема
Я хочу отображать символ валюты (в качестве формата, а не текста или конкатенации префикса) в ячейке, которая установлена как валюты по умолчанию “AUD”, чтобы это выглядело как AUD 1,450,000.00
, но при этом в той же ячейке также была возможность выбора из выпадающего списка для изменения формата на другие валюты. Я понимаю, что можно просто отформатировать ячейку и изменить символ валюты, но я ищу аккуратный вариант, чтобы всё было доступно в выпадающем списке для тех, кто сталкивается с техническими трудностями.
Конечная цель: Пользователь вводит число, оно отображается как AUD xxx.xx
по умолчанию. Если это число должно быть в USD, они просто вводят число как обычно, затем открывают выпадающий список и выбирают USD, что изменяет его на USD xxx.xx
.
Это больше связано с проектом по созданию панелей мониторинга. Я мог бы просто поместить валюту в один столбец, а число в другой столбец, но это не моя цель, так как эти числа мне не нужны для суммирования/анализа/использования формул.
Заранее спасибо.
Я хотел бы предложить самый простой способ, метод условного форматирования, для изменения символа валюты, основываясь на выпадающем списке.
Ситуация 1:
Выбрана валюта – Rs.
Как это работает:
- Создайте выпадающий список в ячейке M18 и добавьте требуемую валюту в виде текста (смотрите скриншот).
- Выберите необходимый диапазон.
- Перейдите в
Условное форматирование
, затемНовое правило
.
- Введите формулу `=$M$18= “Rs”.
- Нажмите Формат и выберите соответствующую валюту из списка.
- Завершите, нажав ОК.
Примечание.
Повторите шаги 2-6 для других валют.
Ситуация 2:
Выбрана валюта – USD.
Другой метод – это макрос VBA, если вы с ним знакомы, ответьте в комментариях.
Отрегулируйте ссылки на ячейки и валюту для выпадающего списка по мере необходимости.
Это работает, но когда мы копируем и вставляем данные куда-то еще, он берет валюту назначения. Таким образом, единственный вариант, который у нас есть — вставить данные в формате JPG.
Ответ или решение
Выбор валюты в ячейках Excel: Подробное руководство
Ваша задача заключается в создании функциональности в Excel, которая позволит пользователю вводить числа и изменять формат отображения валюты с помощью выпадающего списка. Это особенно полезно для дашбординговых проектов, где важно представить данные в понятном формате без необходимости сложных формул. Мы рассмотрим два подхода — использование условного форматирования и написание VBA-скрипта.
1. Использование условного форматирования
Для выполнения вашей задачи с использованием условного форматирования, следуйте приведенной ниже пошаговой инструкции:
Шаг 1: Создание выпадающего меню
- Откройте Excel и выберите ячейку, в которой вы хотите разместить выпадающее меню (например, ячейку
M18
). - Перейдите на вкладку Данные и выберите Проверка данных.
- В открывшемся окне выберите Список в поле "Разрешить", затем укажите валюты (например, AUD, USD, EUR) в поле "Источник".
- Нажмите ОК. Теперь в ячейке
M18
будет выпадающее меню с доступными валютами.
Шаг 2: Применение условного форматирования
- Выберите диапазон ячеек, который вы хотите форматировать в зависимости от выбранной валюты.
- Перейдите на вкладку Главная и выберите Условное форматирование, затем нажмите Создать правило.
- Выберите Использовать формулу для определения, какие ячейки форматировать.
- Введите формулу. Например, для индикатора валюты:
=$M$18="AUD"
. - Нажмите кнопку Формат, выберите необходимый формат для нужной валюты (например, выберите раздел "Число" и отформатируйте как валюту AUD).
- Повторите шаги 3-5 для каждой валюты, которую вы хотите добавить.
2. Использование VBA для более продвинутой функциональности
Если вы хотите более динамичное решение, можно использовать заготовленный макрос VBA для изменения формата ячейки в зависимости от выбора пользователя.
Пример VBA кода:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("M18")) Is Nothing Then
Select Case Target.Value
Case "AUD"
Target.Offset(0, 1).NumberFormat = "[$AUD] #,##0.00"
Case "USD"
Target.Offset(0, 1).NumberFormat = "[$USD] #,##0.00"
Case "EUR"
Target.Offset(0, 1).NumberFormat = "[$EUR] #,##0.00"
End Select
End If
End Sub
Использование макроса:
- Нажмите
Alt + F11
, чтобы открыть редактор VBA. - В левом окне выберите объект рабочего листа, где вы хотите добавить функциональность.
- Вставьте приведённый выше код.
- Закройте редактор.
Теперь, когда вы измените выбор в ячейке M18
, форматирование соседней ячейки изменится в зависимости от выбранной валюты.
Примечания
- Обратите внимание, что при копировании и вставке данных из таких ячеек, могут возникать проблемы с сохранением формата валюты. Чтобы избежать этого, вы можете использовать функцию "Копировать как изображение" или просто использовать специальные методы вставки.
- Регулярно сохраняйте свою работу, особенно при использовании макросов, для предотвращения потери данных.
С помощью этих методов пользователи смогут легко изменять формат валюты, что сделает вашу таблицу более интуитивной и удобной в использовании.