Изменить часть формулы Excel с постоянным значением - PullRequest
0 голосов
/ 04 ноября 2018

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

=D1/SUM(D$1:D$4)
=D2/SUM(D$1:D$4)
=D3/SUM(D$1:D$4)
=D4/SUM(D$1:D$4)
=D5/SUM(D$5:D$9)
=D6/SUM(D$5:D$9)
=D7/SUM(D$5:D$9)
=D8/SUM(D$5:D$9)
=D9/SUM(D$5:D$9)

Я пытаюсь изменить первую часть формул, не меняя вторую и наоборот. например изменение числителя на 10 ячеек.

=D11/SUM(D$1:D$4)
=D12/SUM(D$1:D$4)
=D13/SUM(D$1:D$4)
=D14/SUM(D$1:D$4)
=D15/SUM(D$5:D$9)
=D16/SUM(D$5:D$9)
=D17/SUM(D$5:D$9)
=D18/SUM(D$5:D$9)
=D19/SUM(D$5:D$9)

или изменение базы на 100. Например,

=D1/SUM(D$100:D$104)
=D2/SUM(D$100:D$104)
=D3/SUM(D$100:D$104)
=D4/SUM(D$100:D$104)
=D5/SUM(D$105:D$109)
=D6/SUM(D$105:D$109)
=D7/SUM(D$105:D$109)
=D8/SUM(D$105:D$109)
=D9/SUM(D$105:D$109)

Иногда и то и другое. Любое руководство о том, как это может быть возможно?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

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

Таким образом, для изменения D1 -> D11 я бы построил фиктивный ряд (столбец K), а затем написал формулу (ячейка L1). Затем я могу скопировать формулу и вставить ее в правильный столбец.

Заменив "=" специальным символом, вы сможете преобразовать формулы. (Столбец F).

В столбце I используется следующая формула: =RIGHT(F1,LEN(F1)-FIND("/",F1))

enter image description here

Для изменения D$1 -> D$100, я думаю, я просто скопировал бы и заменил бы его поиском в "Формуле".

enter image description here

Этот подход может быть осуществим для пары сотен клеток. Если список очень длинный, я бы порекомендовал какое-нибудь решение VBA, где вы можете получить формулу ячеек с .Range("A1").Formula

0 голосов
/ 04 ноября 2018

первая часть этой проблемы кажется простой, если я что-то упустил?

Часть 1:

Поскольку знаменатель уже находится в форме $ x, вы можете выбрать и скопировать весь диапазон формул и вставить их на 10 строк вниз, а затем ВЫРЕЗАТЬ и вставить обратно на место. COPY обновит числители соответствующим образом, и когда вы СОКРАТИТЕ и ВСТАВИТЕ его обратно в положение, они теперь будут такими, как вы хотите? Второй вопрос будет немного сложнее!

Часть 2:

ОК, без VBA. Я могу только придумать действительно затейливый способ изменить своих демонинаторов, но я только что проверил, работает ли он: Чтобы изменить дно.

  1. Поиск и замена = на '=

Теперь вы можете редактировать формулы более свободно.

  1. Поиск и замена D на D%

  2. Поиск и замена D% $ на D

  3. Поиск и замена D% на D $
  4. избавиться от '= с помощью параметра Data> text to columns
  5. Теперь используйте копирование и вставку, вырезайте трюк вставки из части 1.

Тогда, если вам все еще нужны ваши $ s, как они были, вы, по сути, повторите 1-5. Извините, это выглядит очень скучно, но если вы в отчаянии и отступите перед тем, как начать, это должно сработать.

...