2016-09-29 3 views
-1

Ich glaubte, die Conditions geschrieben wird ziemlich lang sein, und ich bin nicht wirklich gut in diesem langen Formel schreiben Es gibt 6 Spalten, die ich verwendet habe, die D, E, M, N, O ist , P
Beispieldaten:Excel Hinzufügen von mehr Bedingungen in einer Formel

D3=123456(Changing variable as it can be 12345, 12345A,123456A) 
E3=1 
M3=31 
N3=_ 
O3=00 
P3=0 

die Formel Entwurf auf dieser Spalte D Feld basiert (die variablen Veränderungen in diesem Bereich) lassen sagen, wenn die Länge von D3 = 6 dann (die aktuelle Formel ich habe gemacht)

=IF(LEN(D3)=6,CONCATENATE(M3,D3,N3,O3,E3),CONCATENATE(M3,D3,O3,E3)) 

Das Ergebnis dafür wird 31123456_001 sein, wenn wir sagen, dass die D-Variable in 123456A geändert wird (das else in der Formel, die ich als kein verkettetes N3 gezeigt habe) dann wird das Ergebnis 31123456A001 sein.

Ich habe in Spalte p hinzugefügt, so dass ich es verwenden kann, um das Format, das ich brauche, zu verketten. Es gibt noch ein paar Bedingungen, die ich in hinzufügen müssen, Welche ist
1. Wenn die D3 = 12345, wird das Format Ergebnis 31_001 sein (verketten M3, P3, D3, N3, O3, E3)
2. Wenn die D = 12345A, das Format Ergebnis 31A001 sein wird (verketten M3, P3, D3, O3, E3)
3. die Daten für die Spalte D3 Feld, 12345 Ein, das A Alphabet kann in AZ sein.

Dies sind die Liste aller Bedingungen und Ergebnisse, die ich in einer Formel benötigt.

1. D3 = 123456 then the outcome will be 31123456_001 
2. D3 = 123456A then outcome will be 31123456A001 
3. D3 = 12345 then outcome will be 31_001 
4. D3 = 12345A then outcome will be 31A001 

Zusätzliche Informationen:
Dies sind nur Format, wie es irgendwelche Zahlen-Kombinationen sein kann, der letzte Buchstabe Alphabet kann AZ sein

D3 = 123456 
D3 = 123456A 
D3 = 12345 
D3 = 12345A 
+0

was ist die Priorität für diese neuen Bedingungen? Gehören sie zu der bereits existierenden Formel oder irgendwo darin? –

+0

ja, müssen sie hinzugefügt in die bestehende Formel –

Antwort

1

habe ich meine Antworten, es

ist
=IF(AND(LEN(D3)>=6,ISNUMBER(RIGHT(D3,1)*1)),M3&D3&N3&O3&E3,IF(AND(LEN(D3)<6,ISNUMBER(RIGHT(D3,1)*1)),M3&P3&D3&N3&O3&E3,IF(AND(LEN(D3)=6,ISTEXT(RIGHT(D3,1))),M3&P3&D3&O3&E3,M3&D3&O3&E3))) 
2

Da konnte ich nicht ganz fangen alle Bedingungen und Ergebnisse hier ist ein Beispiel dafür, wie Ihre Formel aussehen könnte:

=IF(LEN(D3)=5,Outcome_1_Concatenation,IF(LEN(D3)=7,Outcome_2_Concatenation,IF(ISNUMBER(VALUE(RIGHT(D3,1))),Outcome_3_Concatenation,Outcome_4_Concatenation))) 

Outcome_1_Concatenation => replace with formula when LEN = 5 
Outcome_2_Concatenation => replace with formula when LEN = 7 
Outcome_3_Concatenation => replace with formula when LEN = 6 and all are numbers 
Outcome_4_Concatenation => replace with formula when LEN = 6 and last is character 

Wenn Sie alle Beispiele in einer condition => outcome Liste geben, wäre ich froh, weiter zu helfen.

+0

Nur meine Frage überarbeitet noch einmal, hoffentlich Sie verstehen. –

+0

Ich verstand noch die Ergebnisse nicht in Formeln waren so werden Sie nur diejenigen hinzufügen müssen, wie unten beschrieben Formel. – zipa

+0

ja, es ist sehr ähnlich zu dem, was ich brauchte, aber die Sache ist, wie werde ich diesen Teil schreiben, LEN = 6 und zuletzt ist ein Zeichen oder jeden Vorschlag, alle Formeln neu zu schreiben? –

1

Das ist Ihre Formel plus den zusätzlichen Bedingungen 1 und 2:

=IF(D3=12345,CONCATENATE(M3,P3,D3,N3,O3,E3),IF(D3="12345A",CONCATENATE(M3,P3,D3,O3,E3),IF(LEN(D3)=6,CONCATENATE(M3,D3,N3,O3,E3),CONCATENATE(M3,D3,O3,E3)))

Wenn Sie eine allgemeinere Version Sie überprüfen können, ob D3 eine Zahl ist, die Länge davon, wenn D3 endet mit ein Brief, und ersetzen Sie die verschachtelten ifs nach Ihren Bedürfnissen

+0

Ich versuche Ihre Formel jetzt, wird Sie später wissen lassen. –

+0

hey david, wie überprüft man D3 endet mit einem Buchstaben und derweil prüft man mit aller Länge? Kannst du mir einen Führer geben? –

2

Ich würde einen Nachschlagetabelle Bereich mit 3 Optionen für Längen von 5,6,7 erstellen.

Ich nannte meine Nachschlagetabelle Reichweite "Länge".

erste Einrichtung dieser Lookup-Tabelle wie folgt aus:

5 |

=CONCATENATE(M$3,P$3,D$3,IF(ISNUMBER(VALUE(RIGHT(D3,1))),N3,""),O$3,E$3) 

6 |

=CONCATENATE(M$3,IF(ISNUMBER(VALUE(RIGHT(D$3,1))),"",P$3),D$3,IF(ISNUMBER(VALUE(RIGHT(D3,1))),N$3,""),O$3,E$3) 

7 |

=CONCATENATE(M$3,D$3,IF(ISNUMBER(VALUE(RIGHT(D$3,1))),N$3,""),O$3,E$3) 

Für D3 Wert ist, wird überprüft, ob das letzte Zeichen ein Buchstabe ist, und wenn es nicht N3 einsetzen wird, sonst lässt er es aus.

Auch für alle 6 Zeichenwert, überprüft er, ob das letzte Zeichen ein Buchstabe ist, und wenn ja, wird es P3 einsetzen, sonst läßt er es aus.

Dann sollte Ihre Ausgabe Formel:

=VLOOKUP(LEN(D3),Length,2,FALSE) 

Dieses es sauber und einfach macht.

enter image description here

+0

ja, kann ich das tut, ist dies in der Tat durchaus ein guter Vorschlag, aber ich habe einen Pool von Daten, das wird eine Menge Verwirrung verursachen. Ich bevorzuge alle Bedingungen in einer Formel. –