
Трудно объяснить это простыми словами, но вот:
У меня есть два рабочих листа, и на первом листе один из столбцов содержит длинные описания продуктов. Это описание должно содержать не более 15 символов, поскольку оно будет отправлено для использования в базе данных, где длина поля фиксирована.
Поэтому у меня есть второй рабочий лист, который в основном используется для экспериментов с сокращением описаний продуктов, и этот лист просто копирует весь столбец описания продукта (из основного рабочего листа) в, скажем, столбец B с количеством символов =LEN в столбце C... а затем в столбце DI можно экспериментировать с различными формулировками, пока количество символов из =LEN в столбце E не станет больше 15 (затем это автоматически копируется обратно в столбец под названием «Сокращенное название» на основном листе).
Проблема в том, что если строка вставляется или удаляется на основном листе (предположим, что это изменение было сделано в строке 10), столбец B на втором листе отражает это изменение, поскольку он просто копирует все, что находится на основном листе, но теперь в столбце B10 теоретически будет отображаться новое название продукта в соответствии с тем, что было вставлено/удалено на основном листе, но в столбце D10 по-прежнему будет отображаться ранее набранное сокращенное слово, соответствующее тому, что было ранее в столбце B10, поскольку оно не имеет никакой связи с изменениями, внесенными в столбец B в целом.
Естественно, в электронной таблице, содержащей несколько тысяч строк с товарами, такую рассинхронизацию невозможно устранить вручную.
Есть ли способ сохранить какую-то связь между столбцами, так что после того, как они будут скреплены вместе, они будут следовать друг за другом, если это имеет смысл? Почти как постоянная группировка — так, если вся строка удаляется или вставляется в исходный лист, та же строка вставляется или удаляется на втором листе (хотя в моем случае этот второй лист только отслеживает и копирует одну строку из исходного листа).
Надеюсь, все это достаточно понятно для получения советов о том, с чего начать исследование этого вопроса.
Спасибо
решение1
Ну, это длинный вопрос/объяснение, ответ, похоже, будет намного короче.
Чтобы сохранить ячейку, ссылающуюся на определенную другую ячейку, и не допустить изменений в исходном местоположении, необходимо «заблокировать» ссылку на строку (или столбец).
Если ваша ссылка D10
даже такая простая, как в , =D10
вы можете изменить ее на , =D$10
чтобы заблокировать номер строки, чтобы он не изменялся, даже если данные перемещаются, D10
например, из-за вставки строки над ней.
С одной оговоркой: источник ссылки НЕ ДОЛЖЕН находиться на том же листе!
Это сложнее, чем здесь описано...
То же самое касается столбцов, поэтому =$D10
изменение столбца будет остановлено, и, конечно, =$D$10
будет остановлено изменение ссылки на столбец или строку.
Если вы редактируете формулу и хотите, чтобы $
присутствовали знаки -, просто нажмите F4один раз. Если вы нажмете его несколько раз, вы увидите, как он изменит "стопоры" во всех возможных комбинациях.
То же самое немного отличается в LibreOffice: удерживайте AltGr(правый alt) при нажатииF4