Я использую формулу =MID(Sheet1!C3,FIND("Item",Sheet1!C3)+6,13) и попытка автозаполнения большой области, но увеличение на 4. Я использую это тогда =MID(Sheet1!C7,FIND("Item",Sheet1!C7)+6,13) и перетащите автозаполнение, но оно не будет увеличиваться так, как я хочу. Это заканчивается использованием C3, C7, C5, C9 вместо C3, C7, C11, C15. Любое изменение в формуле я могу сделать, чтобы это исправить?

2 ответа2

1

Вы можете использовать функцию OFFSET для увеличения на 4 ячейки каждый раз, например, само по себе это будет

=OFFSET(Sheet1!C$3,(ROWS(D$2:D2)-1)*4,0)

Предполагается, что первая формула в D2 - измените часть ROWS(D $ 2:D2) в зависимости от первой ячейки, затем вы можете использовать это дважды в существующей формуле для замены Sheet1!C3 , так что становится этой формулой

=MID(OFFSET(Sheet1!C$3,(ROWS(D$2:D2)-1)*4,0),FIND("Item",OFFSET(Sheet1!C$3,(ROWS(D$2:D2)-1)*4,0))+6,13)

1

Вам нужно немного математики, чтобы создать разбивку на ячейки, на которые вы ссылаетесь при заполнении. Формула энергозависимости, такая как OFFSET может быть проще для понимания, но энергонезависимая функция, такая как INDEX будет занимать меньше вычислительной мощности в целом. Энергозависимая функция - это функция, которая пересчитывает каждый раз, когда рабочая книга проходит цикл расчета, независимо от того, повлияет ли изменение значения на формулу или нет. Примерами энергозависимых функций являются OFFSET , INDIRECT , NOW и т.д.

VOLATILE Решения

=MID(OFFSET(Sheet1!$C$3, (ROW(1:1)-1)*4, 0),FIND("Item",OFFSET(Sheet1!$C$3, (ROW(1:1)-1)*4, 0))+6,13)

=MID(INDIRECT("Sheet1!C"&3+(ROW(1:1)-1)*4),FIND("Item",INDIRECT("Sheet1!C"&3+(ROW(1:1)-1)*4))+6,13)

НЕТВАЛЬНОЕ РЕШЕНИЕ

=MID(INDEX(Sheet1!$C:$C, 3+(ROW(1:1)-1)*4), FIND("Item",INDEX(Sheet1!$C:$C, 3+(ROW(1:1)-1)*4))+6,13)

Выберите любой из них (последний рекомендуется) и заполните при необходимости.

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