Назначьте следующего доступного человека, когда ресурсы истощатся - PullRequest
0 голосов
/ 21 марта 2020

Я создаю таблицу ресурсов в Google Sheets для моего сообщества, чтобы публиковать их данные о потребностях / потребностях в ответ на коронавирус. Я хотел бы автоматически назначить человека, у которого есть предмет, человеку, которому нужен этот предмет, но только если этот человек еще не был назначен другим.

Другими словами, если человек А и человек В обоих есть по одному рулону туалетной бумаги, и человеку C нужно 1, человеку D нужно 1, а человеку E нужно 1, я бы хотел, чтобы лицо C было сопоставлено с A, D с B, а лицо E с показать "В НУЖНО" (кого-то, чтобы пожертвовать). Пример:

example A

Или, в качестве другого примера, скажите, что у человека А есть 3 броска ТП, а у человека Б - 1. Человек C просит 2, и человек D запрашивает 1, так что оба C и D должны быть оба назначены лицом А, но следующий человек, который спрашивает, должен быть назначен человеку B.

Очевидно, что эти числа работают хорошо, но это будет усложняется, если, скажем, у человека А и В по 1 рулону 1 ТП, а человек C попросил 2 (тогда нужно будет показать обоих людей как назначенных человеку C).

Это моя формула как на данный момент (очень базовый c): =if(ISTEXT(I4),IFERROR(index($C$4:$E$1000,match(I4,$D$4:$D$1000,0),1),"IN NEED"),"")

Спасибо за любую помощь, которую вы можете предложить !!

Ссылка на лист для более подробного примера

1 Ответ

1 голос
/ 02 апреля 2020

OK. Итак, вот лист, который все еще нуждается в большом количестве улучшений, исправлений.

Лист Excel

Файл массивный с некоторыми очень длинными формулами и несколькими таблицами для вычисления промежуточных данных. Лист поддерживает до 100 различных предметов (туалетная бумага, вода, бобы и т. Д. c.) И 1000 запросов (нужно) и 1000 предложений (есть).

Добавлены функции:

  • условное форматирование ячеек «предложений» (если чего-то не хватает, ячейки обведены красной линией)
  • добавлено количество элементов, которые нужно задать назначенному человеку (число между '()' )

TODO:

  • стресс-тест листа, почти наверняка некоторые определенные c случаи, вызывающие ошибки, все еще существуют
  • комментируйте файл, чтобы понять механизм листа
  • скрыть механизм листа («помощники столбцов»)
  • тест на листе googles (должен работать, использовались общие c формулы)
  • optimize формула, чтобы получить быстрее "лист

Я обновлю его так быстро, как смогу. Вопросы / комментарии приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...