Отображение валюты и процента в одной ячейке в зависимости от того, что введено

Я могу отформатировать ячейку для отображения «Валюта» и «Процент», но могу ли я отображать ее в одной ячейке в зависимости от того, что введено?

Например, если я вхожу в $5 он будет отображать $5.00 и если я введу 5% он отобразит 5 %

Если это возможно?

Ответ НЕТ, если вы хотите сделать это с помощью специального форматирования чисел, само по себе.

Это может быть выполнено, если вы были в порядке с использованием VBA для установки форматирования произвольного номера во время ввода значения с помощью процедуры события Worksheet_Change ().

Вот так:

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 Then If Not Intersect([a1:a10], Target) Is Nothing Then Select Case True Case Left$(Target.NumberFormat, 1) = "$": Target.NumberFormat = "$#,##0.00" Case Target.NumberFormat = "0%": Target.NumberFormat = "0 %" End Select End If End If End Sub 

Обратите внимание на [a1:a10] в верхней части процедуры. Это указывает диапазон на листе, который будет реагировать на это динамическое форматирование. Отредактируйте этот диапазон по своему вкусу.

  • Php превосходит в одной ячейке
  • Как преобразовать «'n' min 'm' secs" в формат секунд
  • Форматирование ячеек microsoft.interop.excel
  • Дополнительный 00:00:00 в датах при конвертации из Excel в CSV с использованием C #
  • Экспорт данных в Excel и применение к нему формата
  • Excel / Как преобразовать число дат в
  • Условное форматирование на основе значения, определенного в каждой строке в Excel для неопределенного количества строк
  • Данные SQL возвращаются в excel и требуют автоматического форматирования в excel
  • Преобразование CSV-файла в определенный формат файла
  • Как отличить два «устаревших значения» и пробелы между двумя значениями в столбце данных?
  • Excel 2010 - Условное форматирование нескольких ячеек
  • Давайте будем гением компьютера.