2016-05-17 2 views
1

Je souhaite créer une feuille Excel pour concevoir un bunker en acier. J'ai ajouté toutes les formules et cela fonctionne. Mais selon la dimension et la forme du bunker, nous devons ajouter des raidisseurs horizontaux au corps du bunker. Ce processus nécessite une itération. Si les emplacements initiaux des raidisseurs ne sont pas assez bons, vous devez changer l'emplacement de tous les raidisseurs peut-être non seulement l'emplacement mais le nombre.Renseigne automatiquement les lignes en fonction d'un autre contenu de cellule

Pour dimensionner les raidisseurs, je dois calculer la pression, les forces de traction et le moment au niveau de ces raidisseurs. Cette formule de calcul est fonction de la profondeur « z » comme ci-dessous:

f(z)=((γ*Ra)÷μ)*(1-e(-μ*K*z)÷Ra)

Si l'on fait le haut du bunker z = 0 alors il augmente quand vous allez vers le bas. J'ai besoin de f (z) là où il y a un raidisseur. S'il y a 3 raidisseurs, j'ai besoin de f (z1), f (z2) et f (z3). S'il y a 5 raidisseurs alors j'ai besoin de f (z1), f (z2), ... f (z5)

Comment remplir ces valeurs f(z) selon la formule avec les valeurs z données manuellement.

enter image description here

+0

ne serait-il pas plus facile de calculer la dérivation de f (z)/dz et ensuite trouver le maximum potentiel où df (z) = 0 et ensuite le résoudre et obtenir le z? – Richard

+0

donc le df (z) = y * (u * K) * e (-u * K * z), df (z) = 0 quand y, u, ou K est 0. Il a une limite de zéro en moins Infinity – Richard

+0

@Richard Je pense qu'il y a un malentendu. J'ai ajouté une image pour le rendre clair. –

Répondre

0

Il y a deux façons de gérer cela. C'est difficile à dire à partir de l'image.

  1. Le plus simple serait d'utiliser un UDF et de faire toutes vos itérations à l'intérieur de l'UDF. Si votre fonction n'a pas une seule sortie mais plusieurs sorties, vous pouvez utiliser une fonction UDF pour renvoyer un tableau au lieu d'une seule valeur.

  2. Une autre solution consisterait à configurer vos calculs en tant que colonne unique pour chaque itération, et de progresser en augmentant de manière incrémentielle le nombre de raidisseurs.

  3. Si l'affichage de vos données sous forme de colonne n'est pas possible, vous pouvez toujours utiliser des références circulaires. Vous avez besoin d'une cellule où vous pouvez réinitialiser toutes les cellules à une valeur par défaut si "1" est entré, et augmenter progressivement le nombre de raidisseurs.

Tous les ci-dessus nécessite que l'emplacement révisé de raidisseurs est standard à chaque itération (soit une constante prédéterminée ou une valeur calculée), de sorte que votre fonction peut passer par Iteration après Iteration sans intervention de l'utilisateur.