Динамическое обновление списка Excel без использования скриптов
Я немного застрял и мне нужна помощь.
Я пытаюсь динамически обновлять список в Excel на основе условий в других ячейках. Что-то вроде (ЕСЛИ оба значения ячеек в A1 и A2 СОВПАДАЮТ со значениями ячеек в A3 и A4, верните A5). В идеале я бы хотел использовать только формулы, а не сценарии, но не уверен, что это возможно.
Вот такой сценарий. У Джины (A3) есть корзина для покупок с 6 предметами в ней (B3: B8): лимон, зубная паста, брауни, расческа, виноград, бутерброд -
Корзина Джины

Джина и ее друзья любят обмениваться вещами друг с другом, и когда они это делают, они записывают каждую сделку (D3: F5) -
запись торгов

Что я пытаюсь сделать, так это выяснить, как обновлять корзину покупок Джины каждый раз, когда она регистрирует новую сделку.
И, кроме того, он должен позволять торговать одним и тем же предметом дважды (для разных предметов в каждом случае), учитывая только самую последнюю торговую запись для этого предмета - в этом случае она получает апельсин в своей корзине -
в этом случае она получает в корзину не апельсин, а не кекс

Я пробовал различные комбинации IF, AND, MATCH и INDEX с повторяющимся вторым столбцом или застревал в циклических зависимостях, и я не могу добраться до сути.
Вот ссылка на рабочий лист: https://docs.google.com/spreadsheets/d/17J-lX2V1Zs-K7WmsfruqcEJtmElM5rCQTeCLFh8FX1U/edit?usp=sharing
Если у кого-то есть идеи, как это решить, я был бы безмерно благодарен!
Спасибо Джимми
Ответы
:: Предостережение ::
Поскольку OP не нуждается в решении на основе VBA MACRO, поэтому в этих обстоятельствах я обнаружил, что используется несколько формул ARRAY (CSE) и условное форматирование. Возможно, что другой может предложить лучший.

Как это устроено:
- Проданные товары и список бакалейщиков приведены в ТАБЛИЦЕ.
Как только вы добавите или удалите имя или элемент из ТАБЛИЦЫ, Excel автоматически обновит связанные данные.
Кроме Shoping Корзины & торгуемых предметов , вам нужно создать список бакалейщика тоже.
Как только кто-то покупает какой-либо предмет, вам необходимо ОБНОВИТЬ стол Бакалейщика .
Проверьте список старых предметов, купленных GINA и другими.
- Создайте один раскрывающийся список в ячейке P17, в настоящее время имеет только 3 имени, вы можете добавить больше.
Если у вас огромный список покупателей, то для получения Уникального списка вы можете использовать любую из формул.
Формула массива (CSE) в ячейке P28:
{=IFERROR(INDEX($U$17:$U$30, MATCH(0, INDEX(COUNTIF($P$27:P27, $U$17:$U$30)+($U$17:$U$30=""), ), 0)), "")}
Для более высоких версий вы можете использовать это в P28:
=UNIQUE(FILTER(U17:U30,U175:U30<>""))
Затем используйте список уникальных покупателей для раскрывающегося списка в ячейке P17.
Теперь используйте эту формулу массива (CSE) в ячейке Q17:
{=IFERROR(INDEX($T$17:$T$30, SMALL(IF(COUNTIF($P$17, $U$17:$U$30)*COUNTIF($U$17:$U$30,"<>"), ROW($T$17:$U$30)-MIN(ROW($T$17:$U$30))+1), ROW(A1)), COLUMN(A1)),"")}
Формула массива (CSE) в ячейке R17:
{=IFERROR(INDEX($N$17:$N$22, SMALL(IF(COUNTIF($P$17, $L$17:$L$22)*COUNTIF($N$17:$N$22,"<>"), ROW($L$17:$N$22)-MIN(ROW($L$17:$N$22))+1), ROW(A1)), COLUMN(A1)),"")}
Примените условное форматирование, используя приведенную ниже формулу в качестве нового правила, в вопросе 17: вопрос 25:
=COUNTIF($N$17:$N$22,Q17)=0
NB
Завершите формулу массива (CSE) с помощью Ctrl + Shift + Enter и заполните в нужном направлении.
Список новых предметов показывает обмененные (проданные) предметы.
В старом списке предметы отмечены КРАСНЫМ цветом, это неотменяемые предметы, так как вы можете найти, что GINA купила ПЯТЬ предметов (проверьте список клиентов в столбце U) и обменяла только ДВА, это авокадо и сигары.
Продолжайте менять имена в ячейке P17, вы получите результаты.
При необходимости измените ссылки на ячейки в формуле.