Страницы: 1
RSS
Сохранение формул при удалении/добавлении строк и столбцов
 
Добрый день

Задача:
Нужно сохранить формулы при удалении/добавлении строк и столбцов в нескольких листах.
Есть несколько складов. Планируется поступление товара на разные даты. Иногда происходит замена продукции (удаляются строки/столбцы-потом добавляются).
Есть сводная таблица куда сводятся все склады (для примера это 2 склада).

Пример:
Если удалить в листе "СКЛАД 1" строки с датами, то в листе "БД" сразу слетают формулы. Даже если добавить их обратно, данные не обновляются.

Подскажите как решить данную задачу.
Просьба сделать это формулами БЕЗ макросов и VBA.

Спасибо.
 
Только вчера была такая тема. Вот.
Изменено: kuklp - 24.08.2016 13:22:18
Я сам - дурнее всякого примера! ...
 
Просмотрите последние 2-3 страницы форума. Ответ есть.

За последнюю неделю это уже 6-я или 7-я тема об удалении строк и столбцов. Повышенная солнечная активность? Бури в ближайшей туманности?
Нужно приучиться не удалять строки или столбцы на листах, ячейки или заданные диапазоны которых используются в ссылках формул. НЕ У-ДА-ЛЯТЬ!
Лучше изменить подход к хранению данных, чем создавать себе же, любимому, причины для дополнительной головной боли.

Нет. конечно, формулы типа СЧЕТЕСЛИ(A:A;25) не боятся удаления строк. Часто такие формулы использую наряду с макросами, когда нужно чистить таблицу и удобнее удалять строки полностью. При этом или: а) прочие вычисления только в коде; б) формулам "по барабану" удаление сток, т.к. они к ним не обращаются.
Но не все функции умеют определять пользовательский диапазон и ссылка на весь столбец приводит к расчетам по всему столбцу. Да и зачастую ссылки типа С:С, 2:2 неприменимы. Такие формулы можно научить игнорировать удаление строки/столбца, но это всегда связано с усложнением формул. Книга будет всегда пересчитываться при открытии. Но это не беда. Хуже, когда применяются функции летучие (ДВССЫЛ, СМЕЩ). которые пересчитываются при любом изменении на листе. И хорошо, если таблица небольшая... Но обычно при работе с небольшими таблицами не требуктся удаление строк/столбцов.
 
Цитата
kuklp написал: Только вчера была такая тема
Благодарю!!!

Все дело в этих запятых "" в формуле: =ДВССЫЛ("'Лист1'!A1")
Что они дают? Без них не работает формула.
Изменено: vlad_d - 24.08.2016 13:47:52
 
Если речь о кавычках, то это указание того, что между ними находится текст. ДВССЫЛ работает и с текстом.
В таком варианте:
=ДВССЫЛ(A1)
ссылка будет изменяться.
Можно завать часть текстом, часть - ссылкой.

Если вопрос об апострофах: обычно они нужны, если в имени листа есть пробел.
 
Цитата
vikttur написал: За последнюю неделю это уже 6-я или 7-я тема
Возможно ответы которые нашел в этом форуме использовал не верно
как например по ответу выше я понял, что нужно добавить в формулу "" чтобы работало ка нужно.

Цитата
vikttur написал: Нужно приучиться не удалять строки или столбцы на листах
к сожалению я пользователь этого файла. им пользуются еще 4 отдела. я могу внести только свой лист с формулами.

Цитата
vikttur написал: Нет. конечно, формулы типа СЧЕТЕСЛИ(A:A;25) не боятся удаления строк.
а на моем примере покажите пожалуйста
 
Цитата
а на моем примере покажите пожалуйста
Впишите формулу в любую ячейку и удаляйте строки. Я написал только о направлении, а не о Вашем решении.
 
Нет, вопрос не про кавычки. Скорее вопрос про апостроф. Он добавляется для ссылок в случае, если имя листа содержит пробелы и иные знаки, которые недопустимы в имени. Поэтому лучше на всякий случай добавлять, если не знаете нужны они там или нет. Лишними не будут.
Изменено: The_Prist - 24.08.2016 15:22:51
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Посмотрел пример.
Если на Вашем листе строки/столбцы не удаляются и на складе не удаляются столбцы:
=ИНДЕКС('СКЛАД 1'!$A:$D;СТРОКА(A2);СТОЛБЕЦ(A2))
 
Цитата
vikttur написал:
Впишите формулу в любую ячейку и удаляйте строки
Я выбрал диапазон весь столбец, а критерий какой нужно поставить, чтобы без разницы какие данные были в ячейке
=СЧЁТЕСЛИ('СКЛАД 1'!A:A; - что сюда поставить?
 
Цитата
The_Prist написал: Нет, вопрос не про кавычки. Скорее вопрос про амперсанд
Так не работает:
=ДВССЫЛ('СКЛАД 1'!A2)
а так работает
=ДВССЫЛ("'СКЛАД 1'!A2")

добавил ""
 
Цитата
=СЧЁТЕСЛИ('СКЛАД 1'!A:A; - что сюда поставить?
Если заглянете в справку по функции, то поймете, что здесь долно быть то значение, количество которого хотите посчитать в столбце А

Цитата
СЧЕТЕСЛИ(A:A;25)...на моем примере покажите пожалуйста.
=ИНДЕКС('СКЛАД 1'!$A$2:$D$65;3;1) - зачем, если константы и ссылка всегда на одну ячейку?
=ИНДЕКС('СКЛАД 1'!A:A;1)
Но это для примера. Решение в сообщении №9
 
Цитата
vikttur написал: Решение в сообщении №9
vikttur, СПАСИБО!!! Работает!

Цитата
vikttur написал: Если заглянете в справку по функции
простите, если туплю - попробовал:
=СЧЁТЕСЛИ('СКЛАД 1'!A:A;'СКЛАД 1'!A2)
=СЧЁТЕСЛИ('СКЛАД 1'!A:A;'СКЛАД 1'!A2:A63)
не получилось
 
Да СЧЕТЕСЛИ я привел ДЛЯ ПРИМЕРА, как можно не задавать конкретный диапазон, а использовать ссылку на целый столбец. К Вашей задаче отношения не имее! Читйте внимательно весь текст сообщения.
А для проверки СЧЕТЕСЛИ(A:A;25): запишите в столбец А несколько чисел 25 и попробуйте удалять строки.

Ваше:
=СЧЁТЕСЛИ('СКЛАД 1'!A:A;'СКЛАД 1'!A2) при удалении строки 2 покажет ошибку. Ну, естественно!

=СЧЁТЕСЛИ('СКЛАД 1'!A:A;'СКЛАД 1'!A2:A63)
Цитата
Критерий.  Обязательный аргумент. Число, выражение, ссылка на ячейку или текстовая строка, которая определяет, какие ячейки нужно подсчитать. Например, критерий может быть выражен как 32, "32", ">32", "яблоки" или B4.
Справку Вы не читали или читали через слово. Найдите, где в цитате упоминание о диапазоне?
Диапазон все-таки можно, но в этом случае создается массив. Это другое.
 
Цитата
vlad_d написал: Так не работает: =ДВССЫЛ('СКЛАД 1'!A2)
это логично. Никто не говорил, что кавычки вообще не нужны. Думалось, что это очевидно, т.к. ДВССЫЛ в качестве аргумента текст принимает. А текст, как известно, должен быть заключен в кавычки.
Цитата
vlad_d написал: Все дело в этих запятых
в моем понятии запятые и кавычки - разные вещи :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
vikttur написал:
Найдите, где в цитате упоминание о диапазоне?
Диапазона там нет. Справку читал и нигде не понял как применить эту формулу к моему случаю.
т.е. "счет" для меня - это счет и тут пой мозг вариантов не выдает

2 ответа уже есть на мой вопрос
это
цитата №2 через =ДВССЫЛ - от kuklp
цитата №9 через =ИНДЕКС - Ваш vikttur

стал интересен Ваш вариант через =СЧЁТЕСЛИ. додуматься сам не смог.
В любом случае Всем спасибо что дали ответы
 
   Доброго времени суток! Уважаемые форумчане, обращаюсь за помощью с подобным вопросом(возможно примитивным), только в моём примере(см. во вложении) необходимо изменение текста в ячейке А27(того же листа), "Сборка выключателя Compact NSX сложный выкатной" на "Сборка выключателя Compact NSX сложный втычной", при удалении строк(значений) А9 и/или А12(из А9 и/или А12)?
Страницы: 1
Наверх