Выбор валюты ячейки Excel

Вопрос или проблема

Я хочу отображать символ валюты (в качестве формата, а не текста или конкатенации префикса) в ячейке, которая установлена как валюты по умолчанию “AUD”, чтобы это выглядело как AUD 1,450,000.00, но при этом в той же ячейке также была возможность выбора из выпадающего списка для изменения формата на другие валюты. Я понимаю, что можно просто отформатировать ячейку и изменить символ валюты, но я ищу аккуратный вариант, чтобы всё было доступно в выпадающем списке для тех, кто сталкивается с техническими трудностями.

Конечная цель: Пользователь вводит число, оно отображается как AUD xxx.xx по умолчанию. Если это число должно быть в USD, они просто вводят число как обычно, затем открывают выпадающий список и выбирают USD, что изменяет его на USD xxx.xx.

Это больше связано с проектом по созданию панелей мониторинга. Я мог бы просто поместить валюту в один столбец, а число в другой столбец, но это не моя цель, так как эти числа мне не нужны для суммирования/анализа/использования формул.

Заранее спасибо.

Я хотел бы предложить самый простой способ, метод условного форматирования, для изменения символа валюты, основываясь на выпадающем списке.

Ситуация 1:

Выбрана валюта – Rs.

вставьте описание изображения здесь

Как это работает:

  1. Создайте выпадающий список в ячейке M18 и добавьте требуемую валюту в виде текста (смотрите скриншот).
  2. Выберите необходимый диапазон.
  3. Перейдите в Условное форматирование, затем Новое правило.

вставьте описание изображения здесь

  1. Введите формулу `=$M$18= “Rs”.
  2. Нажмите Формат и выберите соответствующую валюту из списка.

вставьте описание изображения здесь

  1. Завершите, нажав ОК.

Примечание.

Повторите шаги 2-6 для других валют.

Ситуация 2:

Выбрана валюта – USD.

вставьте описание изображения здесь

Другой метод – это макрос VBA, если вы с ним знакомы, ответьте в комментариях.

Отрегулируйте ссылки на ячейки и валюту для выпадающего списка по мере необходимости.

Это работает, но когда мы копируем и вставляем данные куда-то еще, он берет валюту назначения. Таким образом, единственный вариант, который у нас есть — вставить данные в формате JPG.

Ответ или решение

Выбор валюты в ячейках Excel: Подробное руководство

Ваша задача заключается в создании функциональности в Excel, которая позволит пользователю вводить числа и изменять формат отображения валюты с помощью выпадающего списка. Это особенно полезно для дашбординговых проектов, где важно представить данные в понятном формате без необходимости сложных формул. Мы рассмотрим два подхода — использование условного форматирования и написание VBA-скрипта.

1. Использование условного форматирования

Для выполнения вашей задачи с использованием условного форматирования, следуйте приведенной ниже пошаговой инструкции:

Шаг 1: Создание выпадающего меню
  1. Откройте Excel и выберите ячейку, в которой вы хотите разместить выпадающее меню (например, ячейку M18).
  2. Перейдите на вкладку Данные и выберите Проверка данных.
  3. В открывшемся окне выберите Список в поле "Разрешить", затем укажите валюты (например, AUD, USD, EUR) в поле "Источник".
  4. Нажмите ОК. Теперь в ячейке M18 будет выпадающее меню с доступными валютами.
Шаг 2: Применение условного форматирования
  1. Выберите диапазон ячеек, который вы хотите форматировать в зависимости от выбранной валюты.
  2. Перейдите на вкладку Главная и выберите Условное форматирование, затем нажмите Создать правило.
  3. Выберите Использовать формулу для определения, какие ячейки форматировать.
  4. Введите формулу. Например, для индикатора валюты: =$M$18="AUD".
  5. Нажмите кнопку Формат, выберите необходимый формат для нужной валюты (например, выберите раздел "Число" и отформатируйте как валюту AUD).
  6. Повторите шаги 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
Использование макроса:
  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. В левом окне выберите объект рабочего листа, где вы хотите добавить функциональность.
  3. Вставьте приведённый выше код.
  4. Закройте редактор.

Теперь, когда вы измените выбор в ячейке M18, форматирование соседней ячейки изменится в зависимости от выбранной валюты.

Примечания

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

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

Оцените материал
Добавить комментарий

Капча загружается...