2016-06-03 2 views
1

Я, вероятно, не правильно назвал это название, поэтому позвольте мне объяснить, что я пытаюсь сделать.MS Excel: Как сделать ссылку на ячейки переменной?

Мне нужно найти циклы в серии данных. Итак, допустим, у меня есть все мои данные в столбце A таблицы Excel. Если условие, которое я ищу, истинно, например, в ячейке A7, я хочу проверить, действительно ли это верно в каждой второй ячейке (A9, A11, A13 и т. Д.). Если это не верно в каждой второй ячейке, я хочу настроить модель для проверки каждой третьей ячейки, начиная с этой ячейки A7 (A10, A13, A16 и т. Д.). Если условие не соответствует истине в каждой третьей ячейке, я хочу проверить каждую четвертую ячейку (A11, A15, A19 и т. Д.).

Программирование формулы для проверки правильности условия должно быть несколько простым с использованием формул IF или AND. Моя проблема заключается в том, как изменить модель для переключения с каждой второй ячейки на каждую третью ячейку, а затем запустить ее для проверки каждой четвертой ячейки и так далее. Я бы хотел, например, настроить формулы в столбце B и иметь ячейку C1 - пользовательский ввод, который определяет, какие ячейки используются в формулах в столбце B. Есть ли способ сделать это?

Пример: если ячейка C1 говорит «2», то формулы в столбце B проверяют каждую другую ячейку в столбце A, а если я изменяю значение в ячейке C1 от «2» до «3», то формулы в столбец B переключается с проверки каждой второй ячейки на проверку каждой третьей ячейки и отчитывается мне.

Я мог бы просто изменить ссылки на ячейки в формулах в столбце B, но это может занять кровопролитные века, и я полагаю, что это лучший способ.

Так что я ищу, чтобы сделать ссылку на ячейки «переменной» в некотором смысле. Вместо жесткого кодирования ссылки на ячейки и высказывание «посмотрите на ячейку A7, затем посмотрите на ячейку A9, а затем посмотрите на ячейку A11 ...« Я хочу сказать Excel »посмотреть на A7, тогда следующая ячейка, на которую вы смотрите, зависит от того, что я говорю . в ячейке С1»

+0

Вы можете использовать косвенные() для ссылки на ячейки. например = INDIRECT («A» & C1 * ROW (B2)) – Ampersand

ответ

0

изображение ниже показывает мою установку:

enter image description here

у меня простые данные в колонке А. Колонка B определяет, следует ли оценивать формула в с. Например, В2 содержит следующую формулу:

=IF(MOD(ROW(A2),$D$2)=0,1,0) 

Столбец C будет содержать логику, которую вы хотите применить. В этом случае я возвращаю данные в A, если B равен 1; в противном случае я возвращаюсь ».

=IF(B2=1,A2,"") 

В колонке D указано количество пропущенных строк.

0

Если вы хотите только один столбец, эта формула будет находиться в B1, и вы можете перетащить ее. Обновите диапазон $ A $ 1: $ A $ 20, чтобы включить весь ваш диапазон. Эта формула проверяет соответствие предыдущей ячейки вашего цикла (каждые 2,3,4 и т. Д.).

=IF(AND(ROW()>$C$1,MOD(ROW(),$C$1)=0),INDEX($A$1:$A$20,ROW()-$C$1)=$A1,"") 

Не используйте КОСВЕННЫЙ ... когда-либо.

+0

Как насчет того, когда имя листа изменяется на основе значения в другой ячейке, могу ли я его использовать? Потому что я не думаю, что вы можете использовать INDEX для этого. –

+0

Имена листов никогда не должны быть переменными. Все необработанные данные должны быть структурированы в одной таблице на одной вкладке. Независимо от того, какие критерии используются для разграничения вкладок, это должно быть дополнительное поле в таблице. – Technichor

+0

Конечно, это в идеальном мире, и все мы сталкиваемся с электронными таблицами, которые нам просто нужно сделать, не перестраивая всю вещь. Если вы будете вынуждены смотреть на несколько вкладок, я бы вместо этого использовал CHOOSE. Если у вас есть 100 вкладок и имена меняются, просто сдайтесь и выбросьте эту таблицу! – Technichor

Смежные вопросы