Форматирование чисел запрещенными символами

#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.