Excel: изменение и обновление будущего значения на основе прошлого появления и поиска в таблице

У меня большой набор данных, набор данных таким образом, что каждый раз, когда клиент называется строкой, будет создан. Таким образом, номер клиента является уникальным идентификатором здесь. На основе их текущего и прошедшего типа ответа пользователи классифицируются.
Первое пожертвование: 4A
Второе пожертвование менее чем через три или пять месяцев, затем переходит к первой таблице поиска.
Не пожертвование в течение 6 месяцев после первого пожертвования, вторая таблица поиска.

Как вычислить это в следующем наборе данных? Также таблица поиска разбита на две, чтобы указать условия. Я использую индекс и совпадение, чтобы найти поиск.

Проблема в том, что, например, клиентский номер 5513 пожертвовал первый раз на 4-й месяц, и он пожертвовал, затем он должен попасть в список 4A, но он входит в список DO4. Потому что я использовал «10- $ I2 <= 6» в формуле перед второй индексной функцией.

Поэтому в идеальном случае для каждого клиента функция должна вернуться и проверить, когда было сделано последнее пожертвование. Если раньше не было пожертвований, и он пожертвовал в подарок, то он попадает в список 4A.

Например, первая строка 5513 находится на 4-м месяце (месяц действия), поэтому она должна проверять историю 5513. Нет записей о пожертвованиях, поэтому результат 4-го месяца – это пожертвование, поэтому он должен быть списком 4A. Если он пожертвовал раньше, то, если он был пожертвован менее четырех месяцев назад, то на основе его текущей таблицы поиска суммы пожертвования будет указан тип списка. В соответствии с условиями в первой таблице. Но если 5513 не пожертвовал на этот раз, и если бы было пожертвование 6 месяцев назад, то он должен пойти во вторую таблицу поиска, чтобы классифицировать в соответствии с деньгами, которые он пожертвовал в прошлый раз. Если нет истории пожертвований, и он также не пожертвовал это время, тогда он будет находиться в состоянии «Нет пожертвования».

Скриншот
Пример набора данных (щелкните по изображению для увеличения)

Ниже приведены условия, первая таблица – если пользователь пожертвовал более двух раз. Если он пожертвовал только один раз, то его нужно искать во втором столе.

Две таблицы поиска

Формула, которую я использую для поиска таблицы:

=IF(E2=F2, IF(L2>=2, INDEX(Conditions!$A$3:$E$7, MATCH(F2,Conditions!$E$3:$E$7,1),1), IF($L2=1,IF(10-$I2<=6, INDEX(Conditions!$A$16:$E$20, MATCH(F2, Conditions!$E$16:$E$20, 1), 1), Conditions!$A$11), Conditions!$A$16)), "Received Amount Differs") 

У меня могла быть разбивка на каждый месяц.

Я предполагаю, что вы говорите о строке 17. Ваша формула говорит, что если столбец L = 1 ( L17 равен 1) и 10 столбца I <= 6 (т. I17 Столбец I4 , а I17 – 4), тогда мы должны Найдите значение из столбца F ( F17 – 50 долларов США) во второй таблице. Ну, 50 $> $ 30 ( Conditions!$E$18 , т. Conditions!$E$18 Препятствие 18) и <$ 71 (Препятствие 19), поэтому вы получаете Тип списка 18 ( Conditions!$A$18 ), который является DO4 .

  • Использование INDIRECT и AND / IF для условного форматирования
  • Использование функции Excel Linest без диапазонов
  • Excel SUMIFS на основе двух критериев
  • Рассчитайте первое появление одного критерия на основании второго критерия
  • Excel 2010 Перемещение данных из нескольких столбцов / строк в одну строку
  • Кнопка Microsoft Powerpivot не работает
  • VLOOKUP с несколькими критериями
  • Excel 2010 Pivot Formatting - не может отступать и обертывать поля?
  • Как переносить и группировать данные в Excel 2010?
  • Отображать пустое значение при ссылке на пустую ячейку в Excel 2010
  • Работа с несколькими книгами в Excel 2013
  • Interesting Posts

    Windows 7 отсутствует значки и панель задач

    Разница между типом данных с плавающей запятой и десятичной точкой

    Импорт векторного файла EPS в Microsoft Word без потери качества

    NPM не устанавливает какие-либо модули: сетевой разъем зависает

    Как автоматически удалить приложение Android с устройства перед установкой новой версии

    Какова основная цель методов setTag () getTag () View?

    Запросить высоту UAC в Windows Vista, если путь защищен?

    Можете ли вы переопределить между расширениями в Swift или нет? (Компилятор кажется смущенным!)

    Списки эликсиров интерпретируются как списки символов

    Curl 'Ошибка подключения SSL'

    Препроцессор C ++ __VA_ARGS__ количество аргументов

    Как перевернуть изображения по горизонтали с помощью HTML5

    NSLocale currentLocale всегда возвращает «en_US», а не текущий язык пользователя

    Как создать пробную версию программного обеспечения .NET?

    Ошибка выполнения: R6025 – Невозможно увидеть местоположение программы, вызывающей ошибку

    Давайте будем гением компьютера.