OVH Cloud OVH Cloud

RechercheV sur 1000*

6 réponses
Avatar
Jean-Paul V
Bonjour à tous

Bonjour

Est-il possible de trouver une sorte de RECHERCHV sur une Table construite
un peu comme cela :

1* 80
1000* 60
1060FR 70

1* voulant dire quelque soit les autres positions
1000* commence par 1000
1060FR égal 1060 FR

Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80

Bien Amicalement

6 réponses

Avatar
Elliac
Bonjour,

=SI(A1="1060FR";70;SI(GAUCHE(A1;4)="1000";60;80))

Camille

"Jean-Paul V" wrote:

Bonjour à tous

Bonjour

Est-il possible de trouver une sorte de RECHERCHV sur une Table construite
un peu comme cela :

1* 80
1000* 60
1060FR 70

1* voulant dire quelque soit les autres positions
1000* commence par 1000
1060FR égal 1060 FR

Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80

Bien Amicalement



Avatar
Jean-Paul V
Merci

Mais cette solution ne peut convenir car la table est en réel plus grande et
la fonction si ne peut convenir dans ce cas il faut trouver une solution +
général


Bonjour,

=SI(A1="1060FR";70;SI(GAUCHE(A1;4)="1000";60;80))

Camille

"Jean-Paul V" wrote:

Bonjour à tous

Bonjour

Est-il possible de trouver une sorte de RECHERCHV sur une Table construite
un peu comme cela :

1* 80
1000* 60
1060FR 70

1* voulant dire quelque soit les autres positions
1000* commence par 1000
1060FR égal 1060 FR

Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80

Bien Amicalement





Avatar
ChrisV
Bonjour jean-Paul V,

Avec la cellule (ici A1) recevant la variable, au format "Texte"

`*NB.SI(A1;1000&"*")+70*(A1="1060FR")+80*(NB.SI(A1;1&"???")*(A1<>"1000"))


ChrisV


"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous

Bonjour

Est-il possible de trouver une sorte de RECHERCHV sur une Table construite
un peu comme cela :

1* 80
1000* 60
1060FR 70

1* voulant dire quelque soit les autres positions
1000* commence par 1000
1060FR égal 1060 FR

Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80

Bien Amicalement



Avatar
Jean-Paul V
Bonjour Lakota

Merci pour votre réponse qui ma mis sur la voie.
Votre solution ne peut convenir car elle suppose que l’on connaît le contenu
de la TABLE ( dans mon cas à traiter TABLE a plus de 200 lignes ).
J’ai mal défini le problème, on doit d’abord examiner les 4 premières
positions si on ne trouve pas, on essaie de prendre toutes les positions et
enfin si on ne trouve pas on prend la première positon.
Pour être plus précis TABLE est qq chose comme :
1* 80
1000* 60
1060FR 70
2* 20
3* 500
ect…
8* 100
8000* 200
9* 30

J’ai trouvé non sans difficultés la formule qui marche:

=SI(ESTNA(RECHERCHEV(GAUCHE(A1;4)&"*";TABLE;2;FAUX));SI(ESTNA(RECHERCHEV(A1;TABLE;2;FAUX));RECHERCHEV(GAUCHE(A1;1)&"*";TABLE;2;FAUX);RECHERCHEV(A1;TABLE;2;FAUX));RECHERCHEV(GAUCHE(A1;4)&"*";TABLE;2;FAUX))

N’y a-t-il pas plus simple et plus élégant?

Bonne journée


Bonjour jean-Paul V,

Avec la cellule (ici A1) recevant la variable, au format "Texte"

`*NB.SI(A1;1000&"*")+70*(A1="1060FR")+80*(NB.SI(A1;1&"???")*(A1<>"1000"))


ChrisV


"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous

Bonjour

Est-il possible de trouver une sorte de RECHERCHV sur une Table construite
un peu comme cela :

1* 80
1000* 60
1060FR 70

1* voulant dire quelque soit les autres positions
1000* commence par 1000
1060FR égal 1060 FR

Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80

Bien Amicalement








Avatar
ChrisV
Bonjour Lakota


;-))

Bonjour Jean-Paul V

J'ai trouvé non sans difficultés la formule qui marche:


Ok, nickel...
Je reste néanmoins perplexe devant les résultats renvoyés par cette formule,
avec les exemples énoncés lors de ton premier post...
Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80




Erreur d'énoncé ou tests incomplets...?


ChrisV


"Jean-Paul V" a écrit dans le message
de news:
Bonjour Lakota

Merci pour votre réponse qui ma mis sur la voie.
Votre solution ne peut convenir car elle suppose que l'on connaît le
contenu
de la TABLE ( dans mon cas à traiter TABLE a plus de 200 lignes ).
J'ai mal défini le problème, on doit d'abord examiner les 4 premières
positions si on ne trouve pas, on essaie de prendre toutes les positions
et
enfin si on ne trouve pas on prend la première positon.
Pour être plus précis TABLE est qq chose comme :
1* 80
1000* 60
1060FR 70
2* 20
3* 500
ect.
8* 100
8000* 200
9* 30

J'ai trouvé non sans difficultés la formule qui marche:

=SI(ESTNA(RECHERCHEV(GAUCHE(A1;4)&"*";TABLE;2;FAUX));SI(ESTNA(RECHERCHEV(A1;TABLE;2;FAUX));RECHERCHEV(GAUCHE(A1;1)&"*";TABLE;2;FAUX);RECHERCHEV(A1;TABLE;2;FAUX));RECHERCHEV(GAUCHE(A1;4)&"*";TABLE;2;FAUX))

N'y a-t-il pas plus simple et plus élégant?

Bonne journée


Bonjour jean-Paul V,

Avec la cellule (ici A1) recevant la variable, au format "Texte"

`*NB.SI(A1;1000&"*")+70*(A1="1060FR")+80*(NB.SI(A1;1&"???")*(A1<>"1000"))


ChrisV


"Jean-Paul V" a écrit dans le
message
de news:
Bonjour à tous

Bonjour

Est-il possible de trouver une sorte de RECHERCHV sur une Table
construite
un peu comme cela :

1* 80
1000* 60
1060FR 70

1* voulant dire quelque soit les autres positions
1000* commence par 1000
1060FR égal 1060 FR

Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80

Bien Amicalement










Avatar
Jean-Paul V
Bonsoir Chris

Je viens de vérifier ma fonction sur les 4 exemples donnés dans l' énoncé de
mon premier post elle donnent les bons résultats souhaités .

ai-je bien compris que vous trouvez que ma fonction n'est pas une solution ?

Je ne vois pas pourquoi vous trouvez qu'elle ne fonctionne pas ?

Mais ce qui m'interesserait c'est de trouver quelque chose de mieux qui
fontionnerait.

Bonne soirée

"ChrisV" wrote:

Bonjour Lakota


;-))

Bonjour Jean-Paul V

J'ai trouvé non sans difficultés la formule qui marche:


Ok, nickel...
Je reste néanmoins perplexe devant les résultats renvoyés par cette formule,
avec les exemples énoncés lors de ton premier post...
Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80




Erreur d'énoncé ou tests incomplets...?


ChrisV


"Jean-Paul V" a écrit dans le message
de news:
Bonjour Lakota

Merci pour votre réponse qui ma mis sur la voie.
Votre solution ne peut convenir car elle suppose que l'on connaît le
contenu
de la TABLE ( dans mon cas à traiter TABLE a plus de 200 lignes ).
J'ai mal défini le problème, on doit d'abord examiner les 4 premières
positions si on ne trouve pas, on essaie de prendre toutes les positions
et
enfin si on ne trouve pas on prend la première positon.
Pour être plus précis TABLE est qq chose comme :
1* 80
1000* 60
1060FR 70
2* 20
3* 500
ect.
8* 100
8000* 200
9* 30

J'ai trouvé non sans difficultés la formule qui marche:

=SI(ESTNA(RECHERCHEV(GAUCHE(A1;4)&"*";TABLE;2;FAUX));SI(ESTNA(RECHERCHEV(A1;TABLE;2;FAUX));RECHERCHEV(GAUCHE(A1;1)&"*";TABLE;2;FAUX);RECHERCHEV(A1;TABLE;2;FAUX));RECHERCHEV(GAUCHE(A1;4)&"*";TABLE;2;FAUX))

N'y a-t-il pas plus simple et plus élégant?

Bonne journée


Bonjour jean-Paul V,

Avec la cellule (ici A1) recevant la variable, au format "Texte"

`*NB.SI(A1;1000&"*")+70*(A1="1060FR")+80*(NB.SI(A1;1&"???")*(A1<>"1000"))


ChrisV


"Jean-Paul V" a écrit dans le
message
de news:
Bonjour à tous

Bonjour

Est-il possible de trouver une sorte de RECHERCHV sur une Table
construite
un peu comme cela :

1* 80
1000* 60
1060FR 70

1* voulant dire quelque soit les autres positions
1000* commence par 1000
1060FR égal 1060 FR

Comment écrire cette sorte de RECHERHV pour que si ma variable est :
10000 il trouve 60
1500 il trouve 80
1060FR il trouve 70
1004 il trouve 80

Bien Amicalement