У меня есть база данных пользователей (с присвоением номеров) и список элементов Excel, которые я успешно вытягиваю в два массива. Один массив пользователей, другой элемент из Excel (задачи). Я пытаюсь представить логику для представления этого сценария:Зацикливание вращения в ячейках Excel
Пользователь в БД может существовать с номером 0-5. В основном это показывает, сколько дней у них есть на неделе, и поможет раскрыть, сколько элементов в диапазоне Excel каждый человек может получить, чтобы правильно распределить позиции (до того, как я использовал логический индикатор, чтобы указать, чтобы включать или исключать) , Например:
User | Present #
-------------------
Jared | 0 'present daily
John | 0 'present daily
Mary | 1 'off 1 day
Tom | 5 'off rotation entirely
Вопрос: что это лучший способ, чтобы связать это с тем, сколько предметов они должны получать в целом?
я ожидал бы Jared
и John
, чтобы получить максимальную, Mary
немного меньше, и Tom
никогда не будет включен. Допустим, у меня 50 предметов.
Один из способов, который, как я думал, при циклировании имен в Excel, подсчитывается каждый раз, когда я начинаю назад в верхней части массива как «проход» (при назначении в ячейки Excel).
Anyone with a 0 is never skipped through each pass Anyone with a 1 is skipped every 4th pass Anyone with a 2 is skipped every 3rd pass Anyone with a 3 is skipped every 2nd pass Anyone with a 4 is skipped every other pass Anyone with a 5 is never included (easy)
Для моего примера, Jared
и John
всегда будет использоваться, Mary
будет пропущен каждый четвертый проход, и Tom
никогда не будет использоваться.
Имеет ли это смысл?
Каков наилучший способ поймать цикл через массив каждый N-й раз?
Я собираюсь сделать это правильно?
вы можете объяснить, как вы добрались до: «5> 15, 5> 15, 4> 12"? Я понимаю об обратном и делении. –
Если у вас всего 5 чисел, тогда я бы использовал вложенные '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'или' ' Затем просто соедините счетчик и сбросьте или выйдите, когда счетчик достигнет количества заданий. Здесь был бы эффективен цикл «While». Затем используйте 2D-массив с подобным (User, Loop #) и вычтите из Loop # каждый проход. Если Loop # = 0, добавьте задачу и установите Loop # в номер пользователя. – Grant
@pnuts вы хотели бы предложить свой комментарий в качестве ответа? –