Как сделать цикл FOR в Excel с помощью формулы (3 примера)

  • Поделись Этим
Hugh West

Не хотите ли вы использовать Excel VBA и хотите сделать FOR Loop в Excel с помощью формул? В этой статье я показал, как вы можете сделать FOR Loop с помощью формул.

Если вы знаете, как кодировать в Excel VBA вы благословенны 🙂 Но, если вы никогда не писали код на VBA или хотите сохранить рабочую книгу Excel свободной от Excel VBA код, то чаще всего приходится думать нестандартно, чтобы создать простой петля .

Скачать рабочий файл

Загрузите рабочий файл по ссылке ниже:

Составить цикл с помощью формул.xlsx

3 Примера создания цикла FOR в Excel с помощью формулы

Здесь я продемонстрирую 3 примеры для подражания FOR Loop в Excel с помощью формулы. Рассмотрим подробные примеры.

1. Применение комбинированных функций для создания цикла FOR в Excel

Теперь позвольте мне узнать предысторию, которая побуждает меня написать этот пример.

Я являюсь автором нескольких курсов на Udemy. Один из курсов посвящен условному форматированию Excel. Название курса следующее: Изучите условное форматирование Excel с помощью 7 практических задач. [ чтобы получить бесплатный доступ к этому курсу, нажмите здесь ].

На дискуссионном форуме курса один из студентов задал мне вопрос следующего содержания [скриншот].

Вопрос, заданный студентом на Udemy.

Внимательно прочитайте приведенный выше вопрос и попытайтесь решить его...

Шаги по решению вышеуказанной проблемы:

Здесь я буду использовать ИЛИ , OFFSET , MAX , МИН и ROW функции как формулы Excel для создания FOR Loop .

  • Во-первых, ваша задача состоит в том, чтобы открыть новую рабочую книгу и ввести в нее по очереди указанные выше значения [начать с ячейки C5 ].
  • Во-вторых, выделите весь диапазон [из ячейки C5:C34 ].
  • В-третьих, от Главная ленту>> нажмите на кнопку Условное форматирование командование.
  • Наконец, выберите Новое правило опцию из выпадающего списка.

В настоящее время, Новое правило форматирования появится диалоговое окно.

  • Теперь, в Выберите тип правила окно>> выбрать Используйте формулу, чтобы определить, какие ячейки форматировать вариант.
  • Затем, в Форматируйте значения, для которых эта формула истинна поле, введите эту формулу:
=OR(OFFSET(C5,MAX(ROW(C$5)-ROW(C5)+3,0),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)-OFFSET(C5,MAX(ROW($C$5)-ROW(C5),-3),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)=3)

  • Теперь выберите соответствующий тип формата, нажав на кнопку Формат... в диалоговом окне.

В это время появится диалоговое окно с именем Форматирование ячеек появится.

  • Теперь из Заполнить >> вы должны выбрать любой из цветов. Здесь я выбрал цвет Светло-голубой фон. Также вы можете увидеть образец мгновенно. В этом случае постарайтесь выбрать любой свет потому что темный цвет может скрыть введенные данные. Тогда вам может понадобиться изменить Цвет шрифта .
  • Затем необходимо нажать OK чтобы применить формирование.

  • После этого необходимо нажать OK на Новое правило форматирования Здесь вы можете увидеть образец мгновенно в Предварительный просмотр коробка.

Наконец, вы получите отформатированные числа.

Позвольте мне показать вам алгоритм решения вышеупомянутой задачи:

  • Здесь, чтобы вам было легче понять алгоритм, я объясню все на примере двух опорных ячеек: ячейки C11 и C17 . в клетках C11 и C17 , значения 10 и 20 соответственно (изображение выше). Если вы привыкли к формулам Excel, то вы можете почувствовать запах OFFSET функция, как OFFSET функция работает с опорными точками.
  • Теперь представьте, что я беру значения диапазонов ячеек C8:C11 & C11:C14 и C14:C17 & C17: C20 рядом друг с другом [изображение ниже]. Эталонные ячейки являются C11 и C17 и я беру в общей сложности 7 клеток вокруг опорной клетки. Вы получите воображаемую картинку, как показано ниже. Из первой части вы можете найти закономерность из изображения. C9-C12=3 , C10-C13=3 Но для второй части такой закономерности нет.

  • Итак, давайте построим алгоритм с учетом приведенной выше схемы. Перед построением общей формулы я покажу, какими будут формулы для ячеек C11 и C17 а затем изменит формулу, чтобы сделать ее общей для всех. Для точки отсчета (например. C11 или C17 ), я возьму в общей сложности 7 ячейки вокруг него (включая опорную точку) и поместить их рядом в формулу, создавая массивы. Затем я найду разность массивов, если какая-либо из разностей равна 3 что опорная ячейка будет TRUE ценится.
  • Здесь я могу сделать это легко, используя OFFSET функция как OFFSET Функция возвращает массив. Скажем, для ссылки на ячейку C11 Я могу записать формулу следующим образом: =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) Что вернет эта формула? Первая функция смещения формулы вернет массив: {10; 11; 12; 15} , вторая функция смещения вернет массив {5; 8; 9; 10} И вы знаете. {10; 11; 12; 15} - {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} Когда этот массив логически проверяется с =3 то Excel производит внутренние расчеты следующим образом: {5=3; 3=3; 3=3; 5=3} = {False; True; True; False} . Когда ИЛИ функция применяется к этому массиву: OR({False; True; False; True} , вы получаете TRUE . Так что ячейка C11 получает истинные значения в качестве возвращаемых.
  • Итак, я думаю, вы поняли, как будет работать этот алгоритм. Теперь возникает проблема. Эта формула может работать из ячейки C8 , над клеткой C8 есть 3 клетки. Но для клеток C5, C6, и C7 эта формула не может работать. Поэтому формула должна быть изменена для этих ячеек.
  • Теперь, для клеток C5 на C7 мы хотим, чтобы формула не учитывала верхнее 3 клеток. Например, для клетки C6 , наша формула не будет похожа на формулу для ячейки C11 : =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) .
  • Здесь, для клетки C5 формула будет выглядеть следующим образом: OR(OFFSET(C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
  • Затем, для клетки C6 формула будет выглядеть следующим образом: OR(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
  • После этого для клеток C7 формула будет выглядеть следующим образом: OR(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)=3) .
  • Опять же, для клетки C8 формула будет выглядеть следующим образом: OR(OFFSET(C8, 0, 0, 4, 1)-OFFSET(C8,-3, 0, 4, 1)=3) ; [это общая формула].
  • Затем, для клетки C9 формула будет выглядеть следующим образом: OR(OFFSET(C9, 0, 0, 4, 1)-OFFSET(C9,-3, 0, 4, 1)=3) ; [это общая формула].
  • И наконец, находите ли вы некоторые закономерности в приведенных выше формулах? Первая OFFSET аргумент строки функции уменьшился с 3 на 0 ; аргумент высоты увеличился с 1 на 4 . Второй OFFSET аргумент строки функции уменьшился с 0 на -3 и аргумент высоты увеличился с 1 на 4 .
  • Во-первых, первый OFFSET аргумент rows функции будет изменен следующим образом: MAX(ROW(C$5)-ROW(C5)+3,0)
  • Во-вторых, второй OFFSET аргумент rows функции будет изменен следующим образом: MAX(ROW(C$5)-ROW(C5),-3)
  • В-третьих, Первый OFFSET аргумент высоты функции будет изменен следующим образом: MIN(ROW(C5)-ROW(C$5)+1,4)
  • В-четвертых, второй OFFSET аргумент высоты функции будет изменен следующим образом: MIN(ROW(C5)-ROW(C$5)+1,4)
  • Теперь попробуйте понять вышеприведенную модификацию. Это не так сложно для понимания. Все это четыре модификации работают как ДЛЯ ЦИКЛА Excel VBA, но я создавал их с помощью формул Excel.
  • Итак, вы получили представление о том, как работает общая формула для ячеек из C5:C34 .

Итак, я говорил о зацикливании в таблицах Excel. Вот прекрасный пример зацикливания в Excel. Здесь каждый раз, когда формула принимает значение 7 ячейки и работает над ними, чтобы узнать конкретное значение.

2. Использование функций IF & OR для создания цикла FOR в Excel

В этом примере, предположим, вы хотите проверить, содержат ли ячейки какие-либо значения или нет. Более того, с помощью Excel VBA Для петли, вы можете сделать это легко, но здесь я сделаю это с помощью формулы Excel.

Теперь вы можете использовать сайт ЕСЛИ , и ИЛИ функции как формулы Excel для создания FOR Loop Кроме того, вы можете изменить эту формулу в соответствии с вашими предпочтениями. Шаги приведены ниже.

Шаги:

  • Во-первых, необходимо выбрать другую ячейку E5 где вы хотите увидеть Статус .
  • Во-вторых, вы должны использовать соответствующую формулу в E5 клетка.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • После этого нажмите ENTER чтобы получить результат.

Разбивка формулы

Здесь ИЛИ функция вернет TRUE если любая из заданных логик становится TRUE .

  • Во-первых, B5="" это 1-й логика, которая будет проверять, является ли ячейка B5 содержит какое-либо значение или нет.
  • Во-вторых, C5="" это 2-й логика, которая будет проверять, является ли ячейка C5 содержит какое-либо значение или нет.
  • В-третьих, D5="" это 3-й логика. Аналогично, которая будет проверять, является ли ячейка D5 содержит какое-либо значение или нет.

Теперь ЕСЛИ функция возвращает результат, который будет удовлетворять заданному условию.

  • Когда ИЛИ функция даёт TRUE тогда вы получите " Информация отсутствует " как Статус В противном случае вы получите " Выполнено " как Статус .
  • После этого необходимо перетащить Наполнительная рукоятка иконка на Автозаполнение соответствующие данные в остальных ячейках E6:E13 . Или вы можете дважды щелкнуть на Наполнительная рукоятка икона.

Наконец, вы получите все результаты.

3. Использование функции SUMIFS для создания цикла FOR в Excel

Предположим, вы хотите сделать общий счет для определенного человека. В этом случае вы можете использовать FOR Loop используя формулу Excel. Здесь я буду использовать функция SUMIFS для создания FOR Loop в Excel. Шаги приведены ниже.

Шаги:

  • Во-первых, необходимо выбрать другую ячейку F7 где вы хотите увидеть Статус .
  • Во-вторых, вы должны использовать соответствующую формулу в F7 клетка.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)

  • После этого нажмите ENTER чтобы получить результат.

Разбивка формулы

  • Вот, $C$5:$C$13 это диапазон данных, из которого SUMIFS функция будет выполнять суммирование.
  • Тогда, $B$5:$B$13 это диапазон данных, из которого SUMIFS функция будет проверять заданные критерии
  • Наконец, E7 является критерием.
  • Итак, в SUMIFS функция добавит платежи для E7 значение ячейки.
  • После этого необходимо перетащить Наполнительная рукоятка значок для автозаполнения соответствующих данных в остальных ячейках F8:F10 .

Наконец, вы получите результат.

Заключение

Мы надеемся, что эта статья оказалась для вас полезной. Здесь мы объяснили, что такое 3 подходящие примеры для того, чтобы FOR Loop в Excel с помощью формул. Вы можете посетить наш сайт Exceldemy Пожалуйста, оставляйте комментарии, предложения или вопросы, если они у вас есть, в разделе комментариев ниже.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.