2015-09-09 5 views
3

Уверен, что в прошлом у меня не было этой «проблемы». Предположим, у меня есть 3 столбца: A, B и C. У меня есть много строк чисел для этих столбцов. Столбцы A и B имеют числовые данные, введенные вручную в их ячейки. Каждая ячейка в столбце C представляет собой SUM ячейки слева и ячейку выше. Например, C15 будет иметь «= SUM (B15, C14)».Удаление строк breaks formula

Что я ИСПОЛЬЗУЮ, это то, что когда я щелкнул правой кнопкой мыши строку и удалю ее, например, 15, данные из строк 16 и выше сдвинутся вверх и «новая» ячейка C15 сохранит формулу " = СУММ (В15, С14)». Однако вместо этого все C-ячейки 15 и ниже разрываются. C15 выглядит следующим образом: "= SUM (B15, # REF!)".

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

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

Если кто-то может помочь, это было бы здорово. Спасибо за ваше время.

+3

Извините, но единственным способом, который вы бы * не * получили ошибку '#REF!' После удаления ячейки, которая была прямой ссылкой в ​​формуле, хотя функция [INDIRECT] (https: //) .office.com/en-us/article/косвенная функция-21f8bcfc-b174-4a50-9dc6-4dfb5b3361cd), поскольку это только текстовое представление адреса ячейки.INDIRECT и [OFFSET] (https://support.office.com/en-us/article/OFFSET-function-b3958b36-c30b-4fc3-979e-9b9bbfdcf592) предлагают летучие решения и функцию [INDEX] (поддержка https: // .office.com/en-us/article/index-function-0ee99cef-a811-4762-8cfb-a222dd31368a) может быть энергонезависимым. – Jeeped

+3

Однако ваша формула была '= SUM (B14, C16)', и вы удалили строку 15, вы останетесь с рабочей формулой '= SUM (B14, C15)'. Этот «поведенческий дизайн» всегда был частью Excel. – Jeeped

+1

Спасибо за ваш ответ. Это так странно. (В качестве побочного примечания я играл с '= SUM (B14, C16)', и он тоже меня не сбил ... но он устанавливает ячейки C1-C15 в REF). Во всяком случае, поведение просто так со мной. Я должен смешивать память или что-то еще, или просто старею. Во всяком случае, я думаю, я просто сделаю что-то «жесткое». Еще раз спасибо! – mrphuzz

ответ

1

Excel никогда не работал так. Я ожидаю, что это тоже удастся и много раз сталкивались с этой проблемой. Единственным решением, которое я смог применить, является OFFSET, как вы предложили. Смещение становится относительным только для себя. Если вы удалите строку, она все равно будет использовать ту же самую ссылку смещения. Ясно, что это может вызвать целый ряд проблем. Образец сравнивает значения двух ячеек. Один только слева в камеру над ним. Если они одинаковы, то X помещается в ячейку. Если вы удаляете любые строки (воспринимаемые дубликаты), то формула настраивается и не #REF. = IF (OFFSET (B2,0, -1) = OFFSET (B2, -1, -1), «X», «»), где B2 является ячейкой, в которую вводится формула.

1

Вместо удаления строка, вместо этого попробуйте это «Stomp the Row». Это не будет работать во всех случаях, но хорошо работает для ситуаций, когда каждая строка относится только к строке над ней или относится к refs в другом месте.

  1. Скопируйте все строки ниже строки вы хотите удалить, в том числе одну пустую строку снизу вашего блока без пустых строк. (Не разрезать)
  2. Затем выберите строку, которую хотите удалить, и
  3. Вставьте строки.

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

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

Надеюсь, что это поможет. =]

Смежные вопросы