#excel #excel-formula #formatting
#excel #excel-формула #форматирование
Вопрос:
Форматирование значения в единицы отображения добавляет четкости при сохранении числового значения в ячейке. Это можно сделать с помощью:
=TEXT(1000,"#,### kW")
или через диалоговое окно форматирования: Форматирование ячеек> Число> Настройка категории
Но некоторые символы не разрешены ни одним из методов. Как это можно сделать для таких единиц измерения, как «кВтч» или «кВтч / год», без преобразования значения в текстовый тип и, таким образом, предотвращения использования значения в вычислении?
Ответ №1:
Либо заключите вашу строку в кавычки, либо «экранируйте» каждый символ
например: #,### kWh
или: #,### "kWh"
(работает либо как пользовательский числовой формат, либо как аргумент format для TEXT
функции)
РЕДАКТИРОВАТЬ: Из-за вопроса от @SOlsen я добавлю, что если вы используете формат кавычек в текстовой функции, вам нужно будет удвоить включенные кавычки.
Комментарии:
1. … да, это работает для пользовательского числового формата (который я бы рекомендовал), но как это будет работать как часть функции text ()? Текстовая функция не примет аргумент в том виде, в каком вы его представили (аргумент полного формата должен быть в кавычках). Вы можете ввести это как =text(1000, «#, ### kWh»), но, как отметил OP, результат считается текстовым, а не числовым, как они хотели. Мне просто интересно, не упускаю ли я чего-то, о чем не знал.
2. @SOlson Да, вы чего-то не понимаете. Чтобы использовать «кавычки с кавычками», вы «удваиваете» (обычная процедура в Excel, поэтому я забыл упомянуть об этом).:
=TEXT(1000,"#,### ""kWh""")
и метод экранирования даже не требует включения кавычек:=TEXT(1000,"#,### kWh")
Я добавлю это предостережение к своему ответу.3. да, это отображает его с помощью kWh … но в виде текста. Допустим, вы помещаете это в ячейку A1, затем в ячейке B1 пытаетесь умножить это на 2… вы получаете ЗНАЧЕНИЕ #! ошибка, поскольку это считается текстом (что подтверждается вводом
=istext(A1)
в ячейку B1). Итак, это то, что я говорил, не соответствовало бы требованию OP о возможности использования числового значения в calculation…it это было бы просто текстовое значение, и вам пришлось бы ввести его с помощью чего-то вроде=VALUE(LEFT(A1,FIND(" ",A1)))
как часть вычислений после этого момента.4. @SOlson Хороший момент. Я полагаю, что единственным логическим выводом
=TEXT()
будет текстовый тип. Четный=TEXT(1000,"#,###")
— это текст. Полагаю, я упускал это из виду в прошлом, потому что без какого-либо дополнительного форматирования Excel по-прежнему способен выводить числовое значение и разрешать его использование в вычислении.5. @SOlson Я не понимаю, к чему вы пытаетесь привести. Конечно, если бы вы хотели, чтобы это было число, вы бы использовали формат в качестве пользовательского числового формата (в соответствии с запросом OP). И если бы вы хотели, чтобы это было текстом (скажем, как часть более длинной строки, где вы ссылались на эту ячейку), вы бы использовали
TEXT
функцию. Это довольно простое использование Excel.