1

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

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

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

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

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

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

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

2 ответа2

1

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

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

C1 - =IF(B1>0,"woohoo",0)

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

0

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

Как описывает Raystafarian, вы не можете изменить одну ячейку с формулой в другой ячейке. Однако ячейка также не может иметь как формулу, так и значение. Если у вас есть формула в 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .