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

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

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

Value in first cell | Value in second cell
<blank>             | 0
Some text           | Some text
Date                | Numeric representation of date

Примеры, отображающие проблему с функцией

Как определить имя для столбца таким образом, чтобы значение в первой ячейке (каким бы оно ни было) отображается точно так же, как во второй ячейке? Я что-то здесь упускаю?

Редактировать:
По предложению mcalex я повторил эксперимент с примененным форматом (текст и дата соответственно).

Повторные результаты эксперимента

Результаты ближе к тому, что мне нужно, но все еще недостаточно хороши. Например, хотя применяемый формат работает для дат, пустой текст по-прежнему отображается в виде 0, Если не прибегать к формуле типа (псевдокод) if 0 then show blank else show textЧто можно сделать, чтобы это исправить?

Короткий ответ:
Примените текстовый формат к исходной ячейке (первая ячейка) и следующий пользовательский формат к ячейкам назначения (вторая ячейка):

#,##0;-#,##0;

Для дат примените формат даты в исходной и целевой ячейках. Пожалуйста, смотрите ответ mcalex для более подробной информации.

1 ответ

Решение

Вы получаете значение из первой ячейки - вам нужен формат. Результаты аналогичны полученным, если бы вы копировали ячейки - как обычные ячейки, а не именованные диапазоны - в ячейки, отформатированные как "Общие".

Когда Excel видит формулу равенства, используемую в ячейке, он включает форматирование. Этого не происходит при использовании equals в именованном диапазоне.

Возможно, вам придется прибегнуть к какой-либо программе VBA, которая копирует форматы для достижения желаемого результата.

Редактировать:

Чтобы скопированная /'равная' ячейка не отображала 0, когда исходная ячейка пуста, вы можете использовать пользовательский формат. Выберите ячейку с ошибочным 0, измените формат на Пользовательский и установите для Типа значение:

#,##0;-#,##0;

При этом будет установлен разделитель запятых, без десятичных чисел для чисел, будет добавлен знак минус для отрицательных чисел и будет установлено значение 0 пустым. Это, вероятно, не идеально, но должно отображаться правильно. Если вы хотите увидеть десятичные дроби, установите его на:

#,##0.##;-#,##0.##;