Frage

Im Grunde, was ich versuche zu tun ist, ich diese Excel-Formel:

=IF(ISNUMBER(FIND(",",A1,FIND(",",A1,FIND("&",A1,FIND("&",A1))))+1),TRIM(MID(A1,FIND("&",A1,1)+1,FIND("&",A1,FIND("&",A1,1)+1)-FIND("&",A1,1)-1)),IF(ISNUMBER(FIND(",",A1,FIND(",",A1)+1)),TRIM(MID(A1,FIND("&",A1)+1,FIND("&",A1)-3)),IF(ISNUMBER(FIND("&",A1,FIND("&",A1)+1)),CONCATENATE(LEFT(A1,FIND(",",A1)-1),",",TRIM(MID(A1,FIND("&",A1,1)+1,FIND("&",A1,FIND("&",A1,1)+1)-FIND("&",A1,1)-1))),IF(ISNUMBER(FIND("&", A1)),SUBSTITUTE(A1,MID(A1,FIND(",", A1)+1,FIND(" &", A1)-FIND(",", A1)+2), ""),A1))))

, wenn Sie bemerken, ist dieser Teil davon:

=IF(ISNUMBER(FIND(",",A1,FIND(",",A1,FIND("&",A1,FIND("&",A1))))+1)

Ich versuche, zu sagen, wenn die Zelle zwei Kommas und zwei Et-Zeichen enthält, dann etwas tun. Ansonsten habe ich es angeben, etwas anderes zu tun. Leider ist diese Bedingung nicht wie erwartet verhalten. Obwohl ich Zellen mit zwei Kommas und nur einem einzigen Ampersand:

CORNWALL,A ROBERT & CORNWALL,ANNA

es behandelt dies als wahr, und wendet die nachfolgende wahre Aussage der obigen Zelle und verursacht daher einen VALUE Fehler, da die nachfolgende wahre Aussage nicht für die Zelle oben nicht berücksichtigen. Es macht nur Zellen mit zwei Kommas und zwei Et-Zeichen. Ich habe bereits eine andere ISNUMBER Bedingung oben für die Zelle hat, wie Sie in meiner ersten Formel sehen können.

Gibt es eine Möglichkeit, meinen ISNUMBER Zustand so in der ersten Ebene der Ausführung zu beheben, es prüft, ob beide zwei Kommas und zwei Et-Zeichen in der Zelle?

Vielen Dank für die Antwort.

War es hilfreich?

Lösung

Ich weiß nicht, ob ich sehen kann, was es mit dem Code falsch ist, aber haben Sie einen anderen Ansatz versucht, die Anzahl der Et-Zeichen zu zählen und Kommas?

=IF(AND(LEN(A1)-LEN(SUBSTITUTE(A1,"&",""))=2,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))=2),TRUECOND,FALSECOND)

Dies scheint nur ein wenig einfacher.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top