Возвращайте значение, учитывая, что число находится в определенном диапазоне

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

Проблема:

Low High Amount to withdraw 600000 2000000 32000 300000 599999 20000 0 299999 8000 

Таким образом, пользователь войдет в текущее хранилище, скажем, 325000, а лист выплюнет 20000. Если пользователь отправил 153555, ответ выдаст 8000

Как я уже сказал, всего три храповика, используя вложенные, если предложения не являются невозможными, но может быть 10 храповиков и вложенных, если предложения не осуществимы. Я бы хотел решить это с помощью формул Excel, а не макроса.

Настройте свою информацию о скобках в следующем виде 1 :

 Low Amount to withdraw 0 8000 300000 20000 600000 32000 2000000 #N/A 

Где-то в вашей книге; Скажем, E2:F5 (с заголовками в строке 1). Затем используйте функцию

  = VLOOKUP ( значение , E $ 2: F $ 5, 2) 

Для поиска и получения второго (т. E Суммы для снятия) значения в последней строке таблицы, где значение E (нижний конец скобки) является ≤ значением поиска; например:

Несколько более реалистичная формула будет

 =IF(ISBLANK(A1), "", VLOOKUP(A1, E$2:F$5, 2)) 

Который будет отображать пустой результат для пустого ввода (вместо того, чтобы рассматривать его как 0).


1 У нас нет верхних концов диапазонов в таблице, потому что нам не нужно; 299999 и 599999 являются избыточными, когда у нас есть 300000 и 600000 . Мы включаем 2000000 в качестве нижнего конца недокументированного кронштейна в диапазоне от 2000000 до .

Я бы использовал функцию index и match .
Предполагая, что вы можете сортировать свою таблицу в первый раз. Или else =MATCH() не работает корректно

Введите описание изображения здесь

 =IF(F2<=INDEX(A:C,MATCH(F2,A:A,1),2),INDEX(A:C,MATCH(F2,A:A,1),3),"invalid") 

Это также проверяет более высокое значение. Я изменил таблицу в строке 3 для этого сценария. Теперь 400000 не соответствует допустимому диапазону и показывает недопустимый

Разбить на небольшие формулы в отдельных ячейках (пользовательский ввод находится в ячейке F2)

 [G9] =MATCH(F2,A:A,1) Find row in table [G10] =INDEX(A:C,G9,2) Find corresponding high value [G11] =INDEX(A:C,G9,3) Find corresponding amount to withdraw [G12] =IF(F2<=G10,G11,"invalid") Check if input is lower then upper boundary 
  • Проблемы с Excel 2010 Функция «Найти», возвращающая значение #value
  • COUNTIFS, кажется, не считает пустые ячейки
  • Почему Excel 2010 автоматически переформатирует номера?
  • Почему Office 2010 не открывается файл Excel?
  • Макрос диаграммы, отображающий неправильные метки из непересекающихся видимых строк на отфильтрованном листе
  • Excel: условное форматирование (выделение) значений на основе другого рабочего листа
  • Таблица Excel, вставляющая старую формулу в новые строки. Как я могу вернуться к новой формуле?
  • Excel, группируйте ряд строк в столбцы
  • Как использовать Excel 2010 Personal Macro Workbook?
  • Excel 2010 Перемещение данных из нескольких столбцов / строк в одну строку
  • Использование MAX () в Excel против списка дат с использованием нескольких критериев
  • Давайте будем гением компьютера.