2010-09-02 5 views
1

J'ai un problème avec Excel 2007. Je dois comparer une valeur - la lettre «C» - à une plage de cellules qui sont sur une ligne. Le problème est que les valeurs devraient être dans toutes les autres cellules.Comment comparer chaque seconde cellule de colonne à une valeur spécifique?

Donc, si j'ai une rangée comme ceci - C 434 C 324 C 3453 - il devrait dire dans une cellule à la fin - OK Et si j'ai une rangée comme ça - C 22 B 665 C 8877 - il devrait dire - erreur car tous ne sont pas C.

Doit être fait comme une formule non VBA.

Donc, la question est de savoir si toutes les autres cellules d'une rangée (une plage) contient une valeur C et de sortir une valeur basée sur cela.

PS! Il y a trop de lignes pour le faire manuellement comme celui-ci (pseudo) = SI (ET (A1 = "C"; A3 = "C"); "ok", "erreur")

Merci

Répondre

2

Voici quelque chose que vous pouvez essayer. Cela nécessite l'utilisation de cellules supplémentaires, mais cela devrait faire l'affaire. Disons que vous commencez avec ces données:

Col_A Col_B Col_C Col_D Col_E Col_F Col_G Col_H Col_I 
C 434 xxx C 435 xxx C 436 xxx C 437 xxx C 435 
C 435 xxx C 436 xxx C 437 xxx C 438 xxx C 436 
C 436 xxx C 437 xxx C 438 xxx C 439 xxx C 437 
C 437 xxx B 438 xxx C 439 xxx C 440 xxx C 438 
C 438 xxx C 439 xxx C 440 xxx C 441 xxx C 439 
C 439 xxx C 440 xxx C 441 xxx B 442 xxx C 440 
C 440 xxx C 441 xxx C 442 xxx C 443 xxx C 441 
C 441 xxx C 442 xxx C 443 xxx C 444 xxx C 442 
C 442 xxx C 443 xxx C 444 xxx C 445 xxx C 443 
C 443 xxx B 444 xxx C 445 xxx C 446 xxx B 444 

... disons « col_a » est dans la cellule A1 et les données réelles commence dans la cellule A2. Sélectionnez la cellule A13 et entrez la formule suivante:

=IF(OR(LEFT(A2)="C", MOD(COLUMN(A2),2)=0),1,0) 

Cliquez maintenant sur A13 et faites glisser vers la droite pour l'étendre à I13. Faites glisser cette plage entière jusqu'à A22:I22. Vous devriez avoir un champ de uns et de zéros dans ces cellules maintenant.

Ensuite, cliquez sur la cellule K2 et entrez la formule:

=IF(PRODUCT(A13:I13),"Valid","Not valid!") 

Cliquez sur la cellule K2 et faites-le glisser vers le bas pour l'étendre à K11.

C'est tout; vous pouvez masquer le bloc de cellules avec tous les uns et les zéros si vous le souhaitez.

Clause de non-responsabilité: seulement testé dans OO Calc. Devrait travailler dans Excel aussi bien.

+0

Merci, besoin de le modifier un peu pour le faire faire plus ce que je voulais mais c'était une aide envoyée par Dieu :) – Marten

0

je pourrais essayer quelque chose comme ceci:

=IF(OR(LEFT(A2,1)<>"C",LEFT(B2,1)<>"C",LEFT(C2,1)<>"C",LEFT(D2,1)<>"C",LEFT(E2,1)<>"C"),"Not Valid","Valid")

col_a Col_B Col_C Col_D Col_E VALIDATION
C 434 C 435 C 436 C 437 C 435 Valable
C 435 C 436 C 437 C 438 C 436 Valide
C 436 C 437 C 438 C 439 C 437 Valide
C 437 B 438 C 439 C 440 C 438 Non valide
C 438 C 439 C 440 C 441 C 439 valide
C 439 C 440 C 441 B 442 C 440 non valide
C 440 C 441 C 442 C 443 C 441 valide
C 441 C 442 C 443 C 444 C 442 Valid
C 442 C 443 C 444 C 445 C 443 Valid
C 443 B 444 C 445 C 446 B 444 Invalide

Avec cela, vous n'avez pas besoin d'ajouter des colonnes, parce que tous les valide string dans la même formule.

Questions connexes