
Как мне заставить Excel работать как программу, чтобы определенная ячейка на листе 1 изменяла свое значение в соответствии с каждой последовательной операцией со строкой на листе 2? По сути, я хочу узнать, может ли ячейка иметь динамическое значение (действовать как временный регистр языка «C», который изменяется после выполнения вычислений в строке на другом листе).
Это запутанно, но если кто-то может мне помочь. Я моделирую что-то, и мне это очень нужно, чтобы двигаться дальше.
Допустим, я работаю на листе 1. Я работаю по строке 1. После заполнения 5 столбцов я хочу, чтобы результат поступил в определенную ячейку (скажем, A1) листа 2. Теперь это лист 2, значения которого изменяются в соответствии с вводом в A1. Затем этот лист 2 снова отправляет значение на лист 1. Теперь мы работаем по строке 2, и результат отправляется в ту же ячейку A1 листа 2. Дело в том, что это замкнутый цикл. И я хочу, чтобы после каждой итерации значение определенной ячейки изменялось в соответствии с результатом итерации.
решение1
Хорошо, я предполагаю, что вы просто пытаетесь переместить данные с одного листа на другой, но под видом формулы. Так что я думаю, что вы ищете это
=Sheet2!A1
Однако я не могу быть в этом уверен, поэтому, пожалуйста, дайте более подробные определения, и я отредактирую этот ответ для этого ответа.
Хорошо, теперь, когда у меня есть отправная точка, я могу ответить на этот вопрос. Однако я чувствую, что это многоступенчатая проблема.
Здесь ячейка G1 предоставляет последнее значение в столбце E. В этой ячейке у меня есть следующая функция: OFFSET([StartCell],MATCH(MAX([Range])+1,[Range],1)-1,0)
Давайте разберемся.
=OFFSET - Итак, мы запускаем функцию и хотим, чтобы она возвращала данные из ячейки [StartCell] - верхней ячейки, на которую будет ссылаться эта функция. MATCH - ищет указанный элемент в диапазоне ячеек. MAX - ищет наибольшее число в диапазоне.
Поэтому мы ищем наибольшее число в нашем диапазоне, прибавляем к нему 1, чтобы получить число, которого нет в наборе данных, используем это число в функции сопоставления, которая возвращает последнюю найденную строку данных, а затем выполняем смещение, чтобы отобразить нужные нам данные.
В вашей ситуации я бы рекомендовал сделать так, чтобы столбец после вставленных данных отражал то, что вы хотите сделать с данными, а затем использовать эту функцию для этого столбца, чтобы нужные данные были в одной ячейке.
что-то вроде того
Ячейка H1 может находиться на любом другом листе этой книги, и она будет работать так, как задумано.
=OFFSET(Sheet1!F1,MATCH(MAX(Sheet1!F:F)+1,Sheet1!F:F,1)-1,0)
Теперь, если разместить функцию после введенных данных невозможно, вы все равно можете это сделать, просто это будет очень длинная формула.
Примечание: в последнем случае для диапазона используется F:F, поскольку он определяет весь столбец F, поэтому вам не придется переопределять параметры функции, если данные превышают предопределенную область.
Пожалуйста, спросите, если нужна помощь.