web-dev-qa-db-fra.com

Verrouillage des positions de cellule dans une autre cellule si une colonne utilise IMPORTRANGE

Disons que j'ai une liste maîtresse de toutes sortes de legos et de leur coût. Seulement deux colonnes. La colonne A correspond au type de Lego et la colonne B au coût de ce Lego. Exemple: 3x3 thin block et 1. ou small wheel et 3. Maintenant, je veux créer une feuille distincte, appelons-la car qui importe les colonnes A et B de la liste principale avec l'ajout d'une colonne C contenant le nombre de pièces nécessaires à la construction de la voiture, comme " 4 roues ". Une colonne D représente le coût de chaque élément de campagne et affiche un total en bas.

IMPORTRANGE me permet de tirer A et B dans la feuille car. J'ajoute des numéros dans la colonne C pour toutes les pièces nécessaires à cette voiture Lego et la colonne D me donnera un total pour le coût de la voiture. Pour faire une feuille d’hélicoptère, il suffit de créer un modèle vierge à partir de la feuille car et de mettre les numéros dans la colonne C qui construit un hélicoptère.

Tout cela fonctionne bien jusqu'à ce que j'ajoute de nouvelles pièces Lego dans la liste principale. Les colonnes A et B des projets Lego (la voiture et l'hélicoptère) seront mises à jour mais la colonne C (et donc D) sera erronée sur les feuilles car et heli. Tout sera déplacé lorsque j'ajouterai des éléments aux colonnes A et B.

Que fais-je?

Idéalement, cela se produit sur chaque fiche de projet. Ce n'est pas un code réel, c'est juste une pensée. J'ajoute un nouveau Lego à la liste maîtresse et les feuilles de projet basées sur un modèle répondent par:

If (trigger that column A has updated)  {  
get.rowNum;  
//the row num where the part was added on master 
//sheet and on this sheet via importrange   

Insert.cell (column C, rowNum);  
//because the A and B column will already insert a  
//whole row in those columns. I don't want to insert   
//another whole row. But instead only insert a single  
//cell into column C on the same row number as where  
//the a and b updated.
}  

Cela permet de le garder constamment alphabétique et toutes les feuilles ajoutent automatiquement de nouvelles pièces sans décaler mes colonnes de comptage.

Voici un lien vers une démonstration https://drive.google.com/folderview?id=0By-rLiXHjfqRc01QZmRISGprbm8&usp=sharing

3
allindal

Cette question semble être un exemple du problème X-Y (voir Quel est le problème XY? ) car le PO demande comment mettre en œuvre une solution calculée plutôt que de résoudre le problème.

Le scénario
Ayant une feuille maîtresse avec une liste des pièces qui seront mises à jour avec les nouvelles pièces, mettez à jour les feuilles de modèle.

  1. Sur la feuille maîtresse, ajoutez une colonne pour chaque nombre de pièces par modèle.
  2. Sur les feuilles par modèle, utilisez IMPORTRANGE pour importer les données de la feuille maîtresse et QUERY pour afficher uniquement les colonnes requises.

Avantages

  • Le principal avantage est que l'approche ci-dessus permet de conserver les feuilles de calcul sans script.
  • Un autre avantage de cette approche est que la plupart des données peuvent être saisies à un endroit.
1
Rubén