Remplissage automatique incrémenté à partir d'une autre feuille

0

J'utilise la formule =MID(Sheet1!C3,FIND("Item",Sheet1!C3)+6,13)et j'essaie de remplir automatiquement une grande zone, mais incrémente de 4. J'utilise celle-ci à ce moment-là =MID(Sheet1!C7,FIND("Item",Sheet1!C7)+6,13)et faites glisser la saisie automatique, mais cela n'augmente pas comme je le souhaite. Il finit par utiliser C3, C7, C5, C9 au lieu de C3, C7, C11, C15. Tout changement dans la formule que je peux faire pour résoudre ce problème?


la source

Réponses:

1

Vous avez besoin de quelques calculs pour créer un décalage dans les cellules référencées lorsque vous remplissez. Une formule volatile telle que OFFSETpeut être plus facile à comprendre, mais une fonction non volatile telle INDEXque consommera moins de puissance de calcul. Une fonction volatile est une fonction qui recalcule chaque fois que le classeur passe par un cycle de calcul, que la modification de valeur affecte ou non la formule. Des exemples de fonctions volatiles comprennent OFFSET, INDIRECT, NOW, etc.

Solutions VOLATILES

=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)

Solution NON VOLATILE

=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)

Choisissez-en un (le dernier est recommandé) et remplissez si nécessaire.

Jeeped
la source
1

Vous pouvez utiliser la OFFSETfonction pour incrémenter de 4 cellules à chaque fois, par exemple seule

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

suppose la première formule en D2 - change la partie ROWS (D $ 2: D2) en fonction de la première cellule, puis vous pouvez l'utiliser deux fois dans votre formule existante pour la remplacer Sheet1!C3, pour que cette formule devienne cette formule

=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)

Barry Houdini
la source