Renvoyer une chaîne en fonction de la réponse d'une fonction


3

Bon, je veux donc avoir une fonction (qui ne soit pas incroyablement longue) qui affichera une chaîne en fonction de la valeur attribuée à une fonction MIN. Je vais donner un exemple d’une formule que j’ai déjà élaborée, mais celle-ci n’est pas compacte avec plus de formules dans la liste MIN. Il existe donc probablement un meilleur moyen de la créer (je suis un peu nouveau chez excel) .

=IF(MIN(5+5, 10/2, 13, 16-14)=5+5, "Function 1", IF(MIN(10/2, 13, 16-14)=10/2, "Function 2", IF(MIN(13, 16-14)=13, "Function 3", "Function 4")))

Dans l'exemple, la formule vérifie si MIN est la première valeur. Si c'est le cas, elle affiche "Fonction 1", mais si ce n'est pas le cas, elle vérifie à nouveau, mais avec la deuxième valeur, et ainsi de suite jusqu'à ce que il vérifie la valeur finale. La formule optimale pour moi serait celle dans laquelle je n'ai besoin d'entrer que la fonction MIN une fois, mais toute aide est appréciée. Faites-moi savoir si cette question est un peu vague et je vais essayer de l'expliquer plus clairement.

Merci!

Edit 1: Au lieu de renvoyer "Fonction 1", "Fonction 2" etc., j'ai besoin de la fonction pour renvoyer deux mots; le premier mot déterminé à partir d'une liste qui vérifie le numéro de ligne et change toutes les deux lignes (par exemple T1 et T2 sont "Premier", T3 et T4 sont "deuxième", etc.) et le second mot qui change chaque ligne (par exemple T1 est "Word", T2 est "Exemple", T3 est "Word", T4 est "Exemple", etc.). Ainsi, le résultat final, une fois que MIN aura obtenu de T1, renverra le "premier mot", T2 sera le "premier exemple", le T3 "deuxième mot", le T4 "deuxième exemple" et ainsi de suite.

Edit 2: Bon, j'ai réussi à le résoudre avec de l'aide avec la commande MATCH. Mon résultat final était quelque chose comme:

=CHOOSE(EVEN(MATCH(MIN(T2:T4),T2:T4,0))/2,"First","Second") & CHOOSE((MOD(MATCH(MIN(T2:T3),T2:T3,0),2)+1), " Example", " Word")

Cette fonction trouve le premier mot en recherchant le MIN, le met en correspondance avec le numéro de ligne, le rend pair, le divise par 2 puis attribue ce numéro à une chaîne. Ensuite, il trouve le deuxième mot en recherchant le MIN, en le faisant correspondre au numéro de ligne, en obtenant le MOD de 2, en ajoutant 1 [car il ne peut pas être 0], puis en attribuant ce numéro à une chaîne. Cette fonction est extrêmement compacte et ne nécessite que l’ajout de plus à la liste des MIN dans les cellules de mon choix.


Mieux vaut utiliser Référence de cellule au lieu de Valeurs, sinon, si vous souhaitez l'essayer pour une paire de critères différente, vous devez modifier celui-ci en entier. La référence de cellule rend la formule dynamique.
Rajesh S

Je sais que les fonctions actuellement présentes dans ma feuille de calcul utilisent des références de cellules, le cas échéant. Je pensais qu'utiliser des formules telles que "5 + 5" plutôt que "B4 + B5" serait un peu plus facile à utiliser.
Pighouse

Réponses:


1

Vous pouvez traiter un illimité (vraiment 1 048 576 ) nombre d'expressions avec une formule simple.

Énumérer les expressions dans la colonne say UNE , puis dans une autre cellule, entrez:

="Function" & MATCH(MIN(A:A),A:A,0)

enter image description here

Où colonne UNE contient des formules ou des constantes telles que:

enter image description here

Remarque:

Si la valeur minimale apparaît plusieurs fois dans la liste, la formule renvoie la position du premier.


Cela fonctionnerait certainement avec l'exemple que j'ai fourni, mais il me faut en fait un peu plus. Je veux que le résultat soit deux mots; le premier mot devrait changer [éventuellement d'une liste?] après deux formules (par exemple, 5 + 1 et 10/2 sont "Premier", 13 et 16-4 sont "Deuxième", etc.) et le second mot passe de impair à Même (par exemple, 5 + 1 est "Word", 10/2 est "Exemple", 13 est "Word", 16-4 est "Exemple", etc.) serait très reconnaissant de voir si cela pouvait être implémenté.
Pighouse

@Pighouse Parce que le noyau de la formule renvoie un nombre simple, il serait très facile d'examiner ce nombre et de sélectionner un texte en fonction de ce nombre ................. veuillez mettre à jour votre original question avec des détails spécifiques.
Gary's Student

0

Vous pouvez utiliser CHOISIR pour cela,

=CHOOSE(1,"Function1","Function2","Function3","Function4","Function5")

Remplacez 1 avec le index pour les critères, vous pouvez utiliser MATCH pour cela etc.

D'après votre question, je ne peux pas comprendre comment vos critères changent, car ils donnent des références numériques, et non des références de cellules, à savoir 5 + 5 ou 10/2.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.