Вопрос или проблема
Когда я использую Excel, иногда формула, которую я использую, выдает ответ, например, 67.9999999.
Когда я вставляю это в другую ячейку, которую я отформатировал на 2 десятичных знака, она показывает 68, но в верхней строке формул все равно отображается как 67.99999.
Как я могу изменить это, не проходя вручную через каждую и не переписывая её в формате на 2 десятичных знака, чтобы обе: ячейка и строка формул отображали число с 2 десятичными знаками?
Спасибо
Вот типичный пример, где значение, отображаемое в ячейке, не соответствует значению в строке формул:
Обратите внимание, что формат ячейки Общий
Выберите ячейки, которые хотите исправить, и выполните этот короткий макрос:
Sub FixData()
Dim r As Range
For Each r In Selection
r.Value = r.Text
Next r
End Sub
что даст:
(макрос не пытается изменить формат ячейки)
Конечно. Скопируйте данные из публичной таблицы (в то время, когда никто её не открывал и не мог модифицировать перед тем, как вы вставите исправленные данные обратно!) в вашу таблицу в каком-нибудь удобном месте. Если это таблица, которую вы используете только для этой цели, или одну, которую вы просто открываете вновь, делаете работу, а затем закрываете, никогда не сохраняя, то это будет лучше: любой из этих двух вариантов.
Как только данные будут там со всеми десятичными знаками, которые были изначально, напишите формулу в соседнем столбце, например, такую:
=ROUND( DATA, 2)
ROUND()
изменит каждое значение на два десятичных знака так же, как Excel выбирает, как его отображать, показывая только два десятичных знака.
Скопируйте ячейку вниз по соответствующему столбцу данных, который вы скопировали. Теперь у вас есть столбец значений, округленных до двух десятичных знаков, который соответствует отображаемым значениям в публичной таблице.
Скопируйте этот диапазон ячеек. Вернитесь в публичную таблицу и Вставить | Специальная | Значения
поверх оригинальных ячеек данных. Они теперь заменены на то же значение, которое показывал Excel.
Если вы не знакомы с Вставить | Специальная | Значения
, есть множество способов это сделать, но самый простой — использовать комбинацию клавиш. Я использую другую, которая трудно объяснима здесь, но многие годы использовал Alt-E-S-V
, затем нажимал Enter
. ЛЮБОЙ способ, который вы знаете, как это сделать, в конечном итоге приводит к счастью.
У вас все еще есть оригинальные значения в выбрасываемой таблице, так что быстро проверьте, что ничего странного не произошло. Если всё выглядит хорошо, сохраните её, а затем закройте выбрасываемую таблицу. Если что-то выглядит странно, попробуйте разобраться, почему, но затем просто закройте публичную таблицу БЕЗ сохранения (вы всегда можете начать совершенно заново, верно?), нажмите Ctrl-Z
или скопируйте оригинальные данные обратно на то, что вы только что вставили. Три хороших способа убедиться, что неприятная работа исчезает, оставляя вам оригинал.
Ключ в том, что вы готовы, как вы сказали выше, выполнить работу по “скопировать, исправить, вернуть назад”. Если что-то делает это невозможным (например, публичная таблица никогда не закрывается всеми возможными пользователями достаточно долго, чтобы вы могли это сделать), тогда этот метод не сработает.
Кто угодно с такой же потребностью (я не думаю, что Fiona Appleton
будет читать этот ответ через пять лет!), может получить пользу от ответа, который я дал на:
в котором задается похожий вопрос.
Это ОЧЕНЬ похоже, но отличается, так что вставка его сюда не совсем уместна. В основном, он объясняет выгоды и убытки от Precision As Displayed
, чтобы помочь кому-то выбрать, использовать это или нет, в зависимости от их ситуации. Он указывает, что есть некоторые подходы VBA, и другой ответ на этот вопрос предлагает одно из этих решений. В нем также есть метод экспортирования данных в нужном формате (экспортирование это необходимость в другом вопросе, но здесь это не кажется таковой, так что это может не быть полезным). В нем также упоминается недостаток скрытия редактора формул, если цель состоит в том, чтобы пользователи НИКОГДА не видели точные значения, только отображаемые значения, но это не будет иметь значения, если только не нужно избежать точных значений на виду.
Ответ или решение
Чтобы отобразить числа в ячейках Excel в формате с двумя десятичными знаками и одновременно обеспечить отображение этих значений в строке формул, требуется изменить подход к форматированию данных. Ниже представлены шаги, которые помогут вам выполнить эту задачу без необходимости вручную переписывать каждое значение.
1. Понимание проблемы
Существует распространенная ситуация, когда Excel отображает округленные значения в ячейках, но при этом оригинальное значение сохраняется с более высокой точностью в строке формул. Например, значение 67.9999999 может показываться как 68, но при нажатии на ячейку в строке формул все еще отображается 67.9999999. Это может привести к путанице, особенно если вам нужно предоставить данные с ясным и четким представлением.
2. Использование макроса для автоматизации
Способ, который может значительно упростить процесс, — использование макроса. Вот простой VBA код, который изменяет значения в выделенных ячейках так, чтобы они отображали только округленные данные:
Sub FixData()
Dim r As Range
For Each r In Selection
r.Value = r.Text
Next r
End Sub
3. Применение ROUND в новой колонке
Если вы не хотите использовать макросы, вы можете создать новую колонку для округления данных:
- Скопируйте данные, которые необходимо округлить, в новую колонку.
- Напишите формулу с использованием функции
ROUND
, чтобы округлить значение до двух десятичных знаков:=ROUND(ВашиДанные, 2)
- Примените эту формулу ко всем необходимым ячейкам, просто протянув ее вниз.
4. Копирование и вставка значений
После того, как вы получили округленные значения:
- Скопируйте округленные данные.
- Вернитесь к оригинальным данным, выделите ячейки и выполните команду
Вставить | Специальная вставка | Значения
(можно использовать сочетание клавиш Alt+E, S, V и затем Enter).
5. Завершение работы и проверка результатов
Теперь в оригинальных ячейках будут значения, отображаемые в такой же форме, как и в ячейке, что позволит избежать путаницы. Проверьте, чтобы все денежные значения и другие данные были корректно обновлены:
- Убедитесь в отсутствии «дополнительных» десятичных знаков в строке формул.
- Сохраните файл, если все значения корректны.
6. Примечания
Если ваша работа связана с данными, которые имеют много пользователей, вы можете столкнуться с ситуацией, когда данные часто обновляются. В таких случаях может быть полезно использовать временные «мусорные» файлы, чтобы минимизировать риск потери информации. Обязательно проверяйте данные в оригинале перед использованием.
Заключение
Эти методы позволяют вам эффективно обрабатывать данные в Excel, сохранять их в нужном формате и избегать путаницы между отображаемыми значениями и значениями в строке формул. Используйте предложенные подходы и стратегии, чтобы оптимизировать работу с числами в ваших таблицах.