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

Обновлено: 04.07.2024

Я ищу способ динамического изменения используемой формулы в зависимости от значения в другой ячейке, например:

ОКРУГЛ
Если значение находится в диапазонеИспользовать формулу
0–40
40-100ОКРУГЛВВЕРХ
100-1000ОКРУГЛ
1000-10000ОКРУГЛ ВНИЗ


Я ищу решение, которое не требует бесконечных операторов if. Скорее ищите решение, в котором указывается формула, которая будет использоваться в диапазоне, который применяется с помощью оператора сопоставления индекса или аналогичного. Я пытался использовать функцию ДВССЫЛ, но она не преобразует текст в другие формулы.

Любая помощь приветствуется!

Факты об Excel

Настроить панель быстрого доступа. Из «Все команды» добавьте «Произнести ячейки» или «Проговорить ячейки при вводе» в QAT. Выберите ячейки. Нажмите "Проговорить ячейки".

MrExcel MVP, младший администратор

Я могу придумать два способа сделать это:
1. Используйте вложенный оператор IF в Excel (он не бесконечен, у вас есть только 4 условия, так что это не должно иметь большого значения)
2. Создайте для этого свою собственную определяемую пользователем функцию (используя VBA)

Особый-K99

Известный участник

Вам необходимо переопределить ограничения
из вашего описания

0–40 ОКРУГЛ
40–100 ОКРУГЛ ВВЕРХ

Поэтому, если значение ровно 40,
вы хотите ОБА ОКРУГЛИТЬ И ОКРУГЛВВЕРХ

Еще раз взгляните на (все) свои ограничения

АксельУ

Новый участник

Спасибо за ответы.

Приложение было просто примером, пожалуйста, не обращайте внимания на интервалы и количество условий. Я хочу знать, можно ли получить другую формулу для ячейки, углубляясь в значение другой ячейки без использования операторов if.

Если B4 больше 10, я хочу ОКРУГЛИТЬ значение ВНИЗ
если B4 меньше 10, я хочу ОКРУГЛИТЬ значение ВВЕРХ

Будет множество вариаций этого, почему я не хочу использовать операторы if. Лучше всего будет какой-нибудь список формул, которые можно объединить со ссылками на ячейки.

Проверка того, являются ли условия истинными или ложными, и выполнение логических сравнений между выражениями характерны для многих задач. Вы можете использовать функции И, ИЛИ, НЕ и ЕСЛИ для создания условных формул.

Например, функция ЕСЛИ использует следующие аргументы.

Формула, использующая функцию ЕСЛИ

logical_test: условие, которое вы хотите проверить.

value_if_true: возвращаемое значение, если условие истинно.

value_if_false: возвращаемое значение, если условие имеет значение False.

Дополнительную информацию о создании формул см. в разделе Создание или удаление формулы.

Что вы хотите сделать?

Создайте условную формулу, результатом которой будет логическое значение (ИСТИНА или ЛОЖЬ)

Для выполнения этой задачи используйте функции и операторы И, ИЛИ и НЕ, как показано в следующем примере.

Пример

Пример будет легче понять, если вы скопируете его на пустой лист.

Как скопировать пример?

Выберите пример из этой статьи.

Выбор примера из справки

В Excel создайте пустую книгу или лист.

На листе выберите ячейку A1 и нажмите CTRL+V.

Важно! Чтобы пример работал правильно, его необходимо вставить в ячейку A1 рабочего листа.

Чтобы переключиться между просмотром результатов и просмотром формул, возвращающих результаты, нажмите CTRL+` (ударение) или на вкладке "Формулы" в группе "Аудит формул" нажмите кнопку "Показать формулы".

После того, как вы скопируете пример на пустой лист, вы можете адаптировать его под свои нужды.

Описание (результат)

Определяет, превышает ли значение в ячейке A2 значение в ячейке A3, а также меньше ли значение в ячейке A2 значения в ячейке A4. (ЛОЖЬ)

Определяет, превышает ли значение в ячейке A2 значение в ячейке A3 или значение в ячейке A2 меньше значения в ячейке A4. (ИСТИНА)

Определяет, не равна ли сумма значений в ячейках A2 и A3 24. (ЛОЖЬ)

Определяет, не равно ли значение в ячейке A5 значению "Звездочки". (ЛОЖЬ)

Определяет, равно ли значение в ячейке A5 значению "Звездочки" или значение в ячейке A6 равно значению "Виджеты". (ИСТИНА)

Дополнительную информацию об использовании этих функций см. в разделах Функция И, Функция ИЛИ и Функция НЕ.

Создайте условную формулу, которая приводит к другому вычислению или значениям, отличным от ИСТИНА или ЛОЖЬ

Для выполнения этой задачи используйте функции и операторы ЕСЛИ, И и ИЛИ, как показано в следующем примере.

Пример

Пример будет легче понять, если вы скопируете его на пустой лист.

Как скопировать пример?

Выберите пример из этой статьи.

Важно! Не выделяйте заголовки строк или столбцов.

Выбор примера из справки

В Excel создайте пустую книгу или лист.

На листе выберите ячейку A1 и нажмите CTRL+V.

Важно! Чтобы пример работал правильно, его необходимо вставить в ячейку A1 рабочего листа.

Чтобы переключиться между просмотром результатов и просмотром формул, возвращающих результаты, нажмите CTRL+` (ударение) или на вкладке "Формулы" в группе "Аудит формул" нажмите кнопку "Показать формулы".

После того, как вы скопируете пример на пустой лист, вы можете адаптировать его под свои нужды.

Описание (результат)

=ЕСЛИ(A2=15, "ОК", "НЕ ОК")

Если значение в ячейке A2 равно 15, верните "ОК". В противном случае верните «Не в порядке». (ОК)

=ЕСЛИ(A2<>15, "ОК", "НЕ ОК")

Если значение в ячейке A2 не равно 15, вернуть "ОК". В противном случае верните «Не в порядке». (Не в порядке)

=ЕСЛИ(НЕ(A2 "ЗВЕЗДОЧКИ", "В норме", "Не в норме")

Если значение в ячейке A5 не равно "ЗВЕЗДОЧКИ", вернуть "ОК". В противном случае верните «Не в порядке». (Не в порядке)

Если значение в ячейке A2 больше значения в ячейке A3, а значение в ячейке A2 также меньше значения в ячейке A4, верните "ОК". В противном случае верните «Не в порядке». (Не в порядке)

=ЕСЛИ(И(A2<>A3, A2<>A4), "ОК", "НЕ ОК")

Если значение в ячейке A2 не равно A3, а значение в A2 также не равно значению в A4, верните "ОК". В противном случае верните «Не в порядке». (ОК)

Если значение в ячейке A2 больше значения в ячейке A3 или значение в ячейке A2 меньше значения в ячейке A4, верните "ОК". В противном случае верните «Не в порядке». (ОК)

=ЕСЛИ(ИЛИ(A5<>"Звездочки", A6<>"Виджеты"), "ОК", "Не ОК")

Если значение в ячейке A5 не равно "Звездочки" или значение в ячейке A6 не равно "Виджеты", верните "ОК". В противном случае верните «Не в порядке». (Не в порядке)

=ЕСЛИ(ИЛИ(A2<>A3, A2<>A4), "ОК", "НЕ ОК")

Если значение в ячейке A2 не равно значению в ячейке A3 или значение в ячейке A2 не равно значению в ячейке A4, верните "ОК". В противном случае верните «Не в порядке». (ОК)

Дополнительную информацию об использовании этих функций см. в разделе Функция ЕСЛИ, функция И и функция ИЛИ.


Зарегистрированный пользователь Дата присоединения 21 апреля 2017 г. Местоположение Эдинбург, Шотландия MS-Off Ver Office 365 Сообщения 1

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

Я пытаюсь написать формулу, использующую данные из таблицы, однако существует несколько таблиц, и правильная из них зависит от того, что введено в определенную ячейку. Я прикрепил пример рабочего листа - у меня есть основная формула в ячейке D28 и моя попытка более сложной версии в ячейке D32, но я не знаю, как расширить ее, чтобы охватить все четыре разные таблицы данных, не используя загрузку функции ЕСЛИ. Может быть, какая-то функция LOOKUP? Будем признательны за любую помощь.

Хорошо – это легко сделать, так как у вас уже есть именованные диапазоны (таблицы). Если вы хотите создать две скрытые ячейки (скажем, N8 и N9, а затем скрыть столбец), мы можем сделать это:

Али

Увлеченный самоучка, пользователь MS Excel, который постоянно учится!

Правила форума (обновлены в сентябре 2018 г.): ознакомьтесь с ними здесь.
Как использовать полученный код Power Query: помощь здесь. Подробнее о Power Suite здесь.
Не забудьте сказать "спасибо" тем, кто помог вам в вашей теме. Если хотите, вы также можете вознаградить их, нажав на звезду их репутации внизу слева.

Я использовал редко используемый необязательный 4-й аргумент INDEX для "Площади"

Сначала я создал именованный диапазон под названием MyTables
(просто выбрав все диапазоны, удерживая нажатой клавишу управления). Затем я перешел к Определить имя

В D25 со значением в C25

ХимикБ
Мой 2�

замените запятые точкой с запятой, если этого требуют настройки вашего региона
Не забудьте пометить тему как «Решенную» (Редактировать первое сообщение>Дополнительно>Изменить префикс)
Если я помог, не делайте этого. забудьте добавить в мою репутацию (нажмите на звездочку внизу этого поста)

Правила форума: как использовать теги кода, пометить тему как решенную и уберечь себя от неприятностей

Изменить формулу на основе значения ячейки

У меня есть следующая формула, по которой определяется себестоимость пива..

Что он делает, он смотрит на ячейку A2, и это может быть "Свободная торговля", "Оптовая продажа" и "Экспорт", а затем смотрит на таблицу "Стоимость пакета" и вычисляет стоимость пакета на основе канала продаж. Однако, если A2 = «Экспорт», необходимо взять стоимость пива из столбца «N», а не из столбца «M». Есть ли способ изменить бит:

если A2 = "Экспортировать" без использования макросов..

Forum Guru Дата регистрации 14.12.2013 Местоположение Варшава, Польша MS-Off Ver чаще всего 365, но все же время от времени используйте и более старые версии Сообщений 7,961

скопировать в буфер обмена

Формула:

скопировать в буфер обмена

Формула:

Это должно (ОК, вероятность 99,5%) работать с первой попытки.

Следующим шагом будет тестирование:

скопировать в буфер обмена

Формула:


Для этого может потребоваться, чтобы формула рассматривалась как формула массива, поэтому подтвердите, нажав CTRL+SHIFT+ENTER, чтобы активировать массив, не просто ENTER. Вы поймете, что массив активен, когда вокруг формулы появятся фигурные скобки.

Спасибо за ваш ответ, это прекрасно работает с точки зрения получения правильной стоимости пива, но в формуле есть ошибка при получении правильной цены упаковки..

Я не хочу делиться таблицей, так как в ней содержится некоторая конфиденциальная информация. Могу ли я отправить ее вам через DM, так как это сложно объяснить, легко, когда вы видите таблицу, и я думаю, что это лишь небольшая подстройка к формула, но я, кажется, могу выяснить, что это за настройка.

Forum Guru Дата регистрации 14.12.2013 Местоположение Варшава, Польша MS-Off Ver чаще всего 365, но все же время от времени используйте и более старые версии Сообщений 7,961

скопировать в буфер обмена

Формула:

скопировать в буфер обмена

Формула:

И если мы можем доверять заголовкам к этой таблице $B$26:$D$28 (содержимое $B$25:$D$25)
в столбцах указаны затраты на
корпус бочонка
>не для 30л/50л

Более того, в B28 (который находится под заголовками экспорт\бочка, но выбран, когда это экспорт\30л бочонок) вы получили значение 0 (что довольно дешево)

Если стоимость упаковки для кега всегда указана под заголовком кега, формула для I5 на листе кег может быть следующей:

скопировать в буфер обмена

Формула:

Читайте также: