Когда Excel решает перелить текст в соседние ячейки или обрезать их на границе?

35

В Excel, 2010 или любой другой версии, возможно, если я введу в ячейку длинный однострочный текст, который длиннее ширины ячейки, Excel иногда отображает текст в соседних ячейках; иногда он обрезается на границе с соседней ячейкой справа.

Я хотел бы знать, как Excel решает, что делать, чтобы лучше контролировать свои макеты. Обратите внимание, что я не хочу использовать ячейки слияния, так как иногда она неуместна. Кроме того, я уже пробовал форматирование «Очистить все» на всех затронутых ячейках, но все еще, кажется, не показывает много.

Любые идеи? Спасибо.

Джейк
источник
Если что-либо произойдет после 20 апреля 2012 года, этот вопрос все еще не получен. Я не нашел последовательного поведения к этому. Если вы знаете ответ, пожалуйста, напишите, и я поставлю галочку на нем. Спасибо.
Джейк
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что вы ищете определение поведения, которое действительно могут понять только разработчики программного обеспечения.
Джеймс Мерц

Ответы:

40

Для того, чтобы текст мог выходить за границы ячейки, должны выполняться следующие условия:

  • В ячейке не включен текст переноса
  • Ячейка не является объединенной ячейкой
  • Ячейка содержит значение, которое превышает ширину ячейки
  • Соседняя ячейка пуста * и не объединена
  • Ячейка имеет любое из следующих горизонтальных выравниваний:

    • генеральный
    • Слева (отступ)
    • Центр
    • Право (отступ)
    • Центр поперек выделения
      (справа перекрывает ячейку слева; центр перекрывается с обеих сторон.)
  • Содержимое ячейки не поворачивается (т.е. ориентация установлена ​​на 0 °) (только для Excel 2010?)

  • Ячейка содержит текстовое значение. Числовые значения и значения даты преобразуются в ####или в научную запись вместо перекрытия соседних пустых ячеек.
  • На листе не включена функция «Показать формулы»

Я считаю, что это все необходимые условия. Если я что-то пропустил, пожалуйста, не стесняйтесь редактировать этот ответ.

* При определенных обстоятельствах соседняя ячейка может показаться пустой, но не быть, и в этом случае текст не будет переполнен в эту ячейку, потому что он не является действительно пустым.

Дэн Хендерсон
источник
4
4-летний вопрос с 61K просмотров и десяток предыдущих ответов. Это случается не часто, но вам удалось добавить существенную информацию в ветку. +1
fixer1234
3
Спасибо :) Я наткнулся на вопрос из поиска в Google и был удивлен: A) количеством ответов, B) сколько ответили на вопрос немного другой, чем тот, который был задан, включая поздний ответ с наибольшим количеством баллов, C) что ни один из ответов не был полон, в контексте вопроса «полное объяснение того, как Excel определяет , переполнять ли ячейку».
Дэн Хендерсон
1
За исчерпывающий ответ вы заслуживаете зеленой галочки через 3 года!
Джейк,
2
Я думаю, что только что обнаружил другое условие : текст не может быть повернут вообще, чтобы перейти к следующей ячейке. Как только ориентация отличается от 0 °, текст усекается по границам ячейки. (т.е. без переполнения текста по вертикали)
Маркус Мангельсдорф
2
@MarcusMangelsdorf В Excel 2016, если я установил ориентацию на 1 °, текст не обрезается на границе ячейки.
MetaEd
4

Я столкнулся с такой же проблемой, и она применяется только в том случае, если значение в ячейке - все числовые символы (включая десятичную точку), если значение в ячейке содержит какие-либо буквенные символы, оно правильно расширяется в соседние ячейки, но когда значение числовое, только это не так. Это верно, даже если вы измените формат ячеек на Текст после того, как число было введено в ячейку.

Чтобы это исправить, мне пришлось предварительно отформатировать ячейки в Text в Excel, а затем вставить данные в текстовые ячейки, используя специальные значения вставки.

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

Марк ВанБеншотен
источник
У меня все еще есть эта проблема после более чем 1 года ... и до сих пор нет полного ответа.
Джейк
3

В дополнение к случаям, отмеченным в других ответах, следует отметить, что Excel всегда будет обрезать переполнение текста, если Ctrl + `на листе активна опция «Показать формулы» ( ). Если вы регулярно используете Ctrl + 1сочетание клавиш для доступа к диалоговому окну «Формат ячеек», очень легко случайно активировать «Показать формулы», и вы можете не заметить, что это произошло. Это особенно верно, если у вас нет активных формул на активном листе.

blackworx
источник
Точно мой случай !!! Я часто нажимаю на ярлык для ошибки!
Человек-паук
1

Много версий назад это зависело исключительно от того, была ли соседняя ячейка пустой или нет. Если кто-то думает, что это больше не так, оставьте комментарий ниже.

Eroen
источник
«Очистить все» в «Excel 2010> главная страница> группа редактирования> раскрывающийся список> очистить все» также очищает содержимое. т.е. все очищенные ячейки должны быть пустыми, но иногда они не переполняются.
Джейк
1
Ваша ячейка также должна быть выровнена по левому краю, если вы хотите переполнение
JMax
1

Я не рекомендую использовать очистить все (если вы не хотите потерять свою работу!). Excel (по крайней мере, 2013 год - не уверен насчет более ранних версий - хотя я почти уверен, что 2000 год так не поступил) распознает пустую строку (например, "") в качестве значения и даже если у вас есть "пустая" соседняя ячейка Ваши данные не будут переполнены в этой ячейке.

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

Выбор ячейки и нажатие на удаление фактически поместит туда ноль. Однако, если у вас большая электронная таблица или по какой-то причине ячейки вашей электронной таблицы часто заполняются пустыми строками, быстрое решение - написать макрос, который проверяет наличие пустых строк ("") и заменяет их пустыми значениями.

Дэйв Грин
источник
1

Я так счастлив, что нашел средство правовой защиты! В течение некоторого времени я научился жить с этим. Текст из одного столбца не попадет в следующий столбец ... он будет обрезан. Я попытался «очистить все» среди многих других вариантов. Наконец ... Формат - Ячейки - и снят флажок Объединить ячейки. Кажется теперь так просто.

Робин
источник
В вопросе сказано: «Обратите внимание, что я не хочу использовать ячейки слияния», поэтому ваш ответ не имеет отношения к этому вопросу. Кроме того, нам не нужно слышать о ваших эмоциях, и мы предпочитаем сводить КРИВ к абсолютному минимуму.
Скотт
1

Он попадет в следующую ячейку, если рядом с ней не будет какого-либо содержимого (т. Е. Столбец A, столбец B).

Если вы удалите содержимое в столбце B, содержимое в столбце A больше не будет переполняться. Если вы вернетесь к столбцу B и выполните «очистку содержимого», то A снова пройдет через размер ячейки.

Кэти Уоттс
источник
0

Щелкните по соответствующей ячейке и отключите «перенос текста». В Excel 2013 это находится на вкладке «Главная» примерно на полпути по экрану.

простофиля
источник
0

Перед вводом текста измените формат ячеек на текст. Это, кажется, позволяет тексту переходить в следующую ячейку (пока следующая ячейка пуста).

Это не работает, если вы пытаетесь изменить формат после ввода текста.

Дейв

Дэвид Кресс
источник
0

Это расстраивает меня, и вот чем я занимаюсь. все вышеприведенные ответы хороши, и текст будет навязываться только в следующей ячейке, если в ячейке нет данных, поэтому я делаю следующее: выберите столбец, с которым хотите работать, и на вкладке «Главная» выберите «Найти и выбрать» выберите Заменить. В поле «Найти что» оставьте поле пустым, а в поле «Заменить на» укажите точку или пробел и используйте пункт «Заменить все» внизу. Это поместит что-то в пустые поля и остановит вторжение данных из поля перед ним.

wideright141
источник
0

У меня была та же проблема, и некоторые из приведенных выше решений не будут работать, если в рассматриваемой ячейке содержится формула.

Один из методов, который мне только что удалось получить, - это выбрать ячейку вместе со смежными ячейками, по которым нужно распределить данные, щелкнуть правой кнопкой мыши, отформатировать ячейки, выравнивание, горизонтальное выравнивание, центрировать по выделению. Таким образом, вы можете избежать слияния клеток.

Надеется, что это помогает.

Мухаммед
источник
0

У меня был особый случай, когда текст поступал в следующую ячейку, но я не мог его увидеть.

В моем первом использовании у меня был текст, который занимал две ячейки. Я выделил обе ячейки и сделал фон красным, а текст белым. Позже я скопировал только первую ячейку и вставил ее в другой лист. Белый на красном тексте отображается только в первой ячейке.

Белый текст переносился в следующую ячейку, но не на фон, поэтому он был невидим на белом фоне по умолчанию.

Выделив вторую ячейку и покрасив ее в красный цвет, проблема была устранена.

Богатый Шилер
источник
-1

Данные будут переполнены, только если столбец справа будет пустым. Итак, отфильтруйте и выберите (Пробелы). Выберите первую ячейку в верхней части столбца и введите пробел. Скопируйте и вставьте первую ячейку в конец столбца. Очистите фильтр, и вы увидите, что данные переполнения теперь исчезли.

Вуаля ..

NetGirl
источник