У меня есть формула, которая опирается на два разных ввода: первый — это целое число от 0 до 5, а второй — округленная сумма значений в массиве. Я хотел бы, чтобы пользователи вводили значения для обоих из них, а затем формула определяла желаемый вывод. Проблема в том, что сейчас у меня есть 6 комбинаций для первой переменной, и каждая из них приводит к изменению способа использования второй переменной. Таким образом, мне понадобится очень большое количество операторов IF, чтобы это заработало.
У меня есть таблицы, настроенные в другом месте, по одной для каждого от 0 до 5, которые определяют правильные значения. Мой вопрос в том, есть ли способ заставить Excel сделать следующее?
Проверьте, помещено ли число от 0 до 5, скажем, в ячейку
A2
.Перейдите к листу, содержащему это число.
INDEX(...,MATCH())
из таблицы на этом листе на основе как количества значений, размещенных в массиве, так и самих значений.
Мне интересно, может быть, было бы разумнее вообще избегать таблиц и вместо этого попытаться вычислять напрямую, но я не вижу способа сделать это, не приводя к огромному набору вложенных IF
s. Дайте мне знать, если что-то здесь непонятно, и я постараюсь объяснить это как можно лучше.
решение1
Если я правильно понимаю, вам нужно создать формулу, которая выполняет операцию индексирования/сопоставления с таблицами, находящимися на разных листах, где пользователь выбирает, на каком листе следует выполнять поиск.
Похоже, вы, возможно, захотите использовать функции ВЫБОР и ДВУСМЫСЛЕННЫЙ для динамического построения пути к соответствующему рабочему листу на основе значения, помещенного в ячейку A2.
Например, ниже будет запущено сопоставление, использующее значение, найденное в B2, с ячейками в диапазоне A1:A3 на соответствующем рабочем листе, где рабочий лист основан на значении (1,2,3), которое пользователь ввел в A2.
=MATCH(A2,(INDIRECT(CHOOSE(B2,"Sheet1","Sheet2","Sheet3") & "!" & "A1:A3")),0)
Здесь CHOOSE используется для наблюдения за ячейкой (A2) и на основе введенного в нее значения выводит объект с соответствующим индексом, который в данном случае является именем рабочей книги.
Функция INDIRECT позволяет строить путь к ячейке «на лету» и, таким образом, встраивает правильное имя рабочего листа в путь, который будет использоваться функцией SUM.
Конечно, если ваши таблицы представляют собой именованные диапазоны или имеют разные размеры, вы всегда можете изменить статические «A1:A3» в примере выше на другой оператор CHOOSE, который выведет правильную часть пути на основе ввода пользователя в другой ячейке.
Извините, если это совсем не соответствует тому, что вы пытаетесь сделать — я не уверен, что понимаю шаг 3 в вашем списке...