2

В последовательности увеличения числа из трех цифр, где основание каждого числа составляет 27, я пытаюсь составить список всех комбинаций, но без повторения чисел. Например, 1,26,26 не будет вариантом.

Последовательность будет выглядеть так:

  • 1,2,3
  • 1,2,4
  • ...
  • 1,2,27
  • 1,3,4
  • 1,3,5

И так далее.

Я поставил формулу для столбца C (из C2):

=IF(C1=27,B2+1,C1+1)

И потащил его вниз.

Я положил формулу для B2: =IF(C1=27,B1+1,B1) , но это не так.

Любые предложения, пожалуйста? Я предпочитаю формулу, а не код VBA.

1 ответ1

2

Формула проверяет, является ли последний номер в этом столбце концом ряда. Если это так, начинается новая серия, но новая серия начинается на 1 больше, чем столбец слева. Если это не новый ряд, он увеличивает предыдущее значение в столбце на 1.

Столбцы A и B не изменяются, пока столбец справа не начнет новую серию. Когда это действительно изменяется, столбец B следует тому же правилу рассмотрения столбца налево, если его собственный столбец начинает новую серию. Таким образом, В2 будет:

=IFERROR(IF(C1=27,IF(B1=26,A2+1,B1+1),B1),"")

Как только вы выйдете за пределы конца всей серии, столбцы B и C будут отображать значение ошибки, если вы не подавите его. Я обернул формулу столбца B в тест IFERROR, который можно аналогичным образом применить к формуле столбца C.

Поскольку вы не хотите дублирования, только столбец C может идти до 27; столбец B должен заканчиваться на 26, а столбец A должен заканчиваться на 25. Упражнение завершается, когда столбец A находится на 25 и столбцы справа достигают конца своей серии. Таким образом, A2 будет:

=IF(C1=27,IF(B1=26,IF(A1=25,"",A1+1),A1),A1)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .