Формула Excel для изменения значения одной ячейки на другое значение на основе третьей ячейки

Формула Excel для изменения значения одной ячейки на другое значение на основе третьей ячейки

для простоты у a1 есть значение, которое может меняться, у b1 есть формула для проверки значения a1. c1 сбрасывается до выбранного значения на основе a1.

У меня есть таблица, в которую люди могут вводить значения. У меня есть список в a1, в котором они могут выбрать «сброс». Я хочу, чтобы значения таблицы изменились на 0, чтобы «очистить» таблицу, чтобы люди могли ввести новые значения.

Я пытался проверить это с одной ячейкой, как указано выше. Формула, которую я вставил в b1

=if(a1="RESET",(c1=0),c1)

это не изменяет значение c1, а включает c1=0 в тестовую часть if then.

Проблема в том, что нам не разрешено использовать макросы или код VB, потому что там они хранятся, поэтому я вынужден использовать формулы.

Это было достаточно ясно?

решение1

Формула не может изменить другую цель. Вам понадобятся две формулы

В1 -=IF(A1="RESET",1,0)

С1 -=IF(B1>0,"woohoo",0)

Если смысл упражнения заключается в том, чтобы в ячейке B1 была только одна формула, поскольку пользователи могут изменить ячейку C1, чтобы удалить формулу, то это невозможно.

решение2

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

Как описывает Рэйстафариан, вы не можете изменить одну ячейку с помощью формулы в другой ячейке. Однако ячейка также не может иметь и формулу, и значение. Если у вас есть формула в B1 или C1, а затем вы вводите туда значение, формула теряется, поэтому это сработает только один раз.

Ваша формула подразумевает, что вы хотите, чтобы ввод был в C1, потому что это то, что отображается в B1, а A1 изменяет значение, отображаемое в B1, на то, 0когда A1="RESET". Без VBA, я думаю, самое близкое, что вы можете получить к тому, что вы описываете, было бы что-то вроде этого:

  • Введите новые значения в ячейку C1, заменив те, что были там ранее.
  • B1 может содержать: =IF(A1="RESET",0,C1).

Это соответствует описанию вашей формулы. B1 будет служить местом отображения в таблице и индикатором того, что требуется новое значение, но само значение будет помещено в C1.

Однако, если A1 не изменится, он продолжит содержать RESET, поэтому изменение значения в C1 не заставит B1 отобразить новое значение. A1 также должно измениться, но это требование создаст циклическую ссылку без VBA или ручного вмешательства. Вам нужно что-то, что обнаружит ввод нового значения и вызовет изменение в A1. Этот тип действия требует VBA или внесения пользователем ручного изменения в A1 после того, как новое значение будет готово к отображению в B1.

Связанный контент