Я в значительной степени согласен с другим ответом - это не то, что Excel делает изначально.
У меня, однако, есть несколько предложений:
I. Необычные функции листа
На листе назначения,
- положить
=IF(A1<>"", LEFT(A1,5), "")
в первую ячейку,
- положить
=IF(B1<>"", LEFT(B1,5), MID(A1,6,5))
во вторую ячейку,
- вставьте
=IF(C1<>"", LEFT(C1,5), IF(B1<>"", MID(B1,6,5), MID(A1,11,5)))
в третью ячейку,
- и т.п.
заменяя A1
, B1
, C1
и т. д. ссылками на исходный лист.
Т.е. вы будете делать текст (перетекание)«вручную».
Это будет выглядеть отвратительно, если вы не используете шрифт постоянной ширины, такой как Courier или Consolas, и не отрегулируете ширину столбцов так, чтобы в выбранном шрифте была ширина 5 символов (или 5, чтобы соответствовать ширине столбцов).
Если вы хотите, чтобы ширина столбцов была разной, это становится более сложным.
Если вы хотите, чтобы текст был перенесен, когда он не может переполниться, это становится намного сложнее.
II. VBA
Или:
- Откажитесь от идеи использования способности Excel связывать одну ячейку с другими.
Определите подпрограмму VBA для копирования исходного листа на целевой лист.
- Напишите подпрограмму VBA, чтобы сделать то, что предлагает другой ответ - Для каждой ячейки на листе назначения посмотрите на соответствующую ячейку на исходном листе.
Если исходная ячейка пуста, установите соответствующую ячейку назначения пустой.
Если исходная ячейка не пуста, установите в соответствующей целевой ячейке ссылку на исходную ячейку.
Возможно, вы захотите запускать любой из них каждый раз, когда вы меняете исходный лист; или вы можете сделать это по требованию.
Вы должны подумать о том, как обрабатывать исходные ячейки, которые оцениваются как пустую строку, не будучи пустыми; например, они содержат =""
или что-то вроде =IF(Q42>=100, "red hot", "")
.
Мое личное мнение: вариант 2 лучше.
PS Возможно, вы захотите посмотреть на пустое отображение при ссылке на пустую ячейку в Excel, если вы еще этого не сделали. AFAIK, он не дает прямого ответа на ваш вопрос, но его обсуждение связанных тем может быть полезным для вас.