
Ich möchte in meinem Arbeitsblatt eine bedingte Formatierung anwenden, die mich benachrichtigt, wenn Folgendes zutrifft:
IF (len(J7) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J7) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J7) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J7) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J7) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J7) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.
... und so weiter und so fort, bis ins Unendliche.
Ich erstelle eine Zeichenfolge mit drei Komponenten. Die erste Komponente befindet sich immer in J7. Dann folgt eine Kombination der Zellen „h“ und „i“ jeder Zeile, beginnend bei Zeile 14 und nach unten. Wenn die Zeichenfolge in dieser bestimmten Zeile mehr als 256 Zeichen umfasst, möchte ich für diese Zeile eine Benachrichtigung irgendeiner Art.
Ich kann es mit dem Tool für bedingte Formatierung nicht zum Laufen bringen. Ich wähle die Spalten aus, die ich formatieren möchte, schreibe dann die Formel in die Toolbox für bedingte Formatierung und lasse sie in Zeile 14 so funktionieren, wie ich es möchte. Aber wenn ich die Zellen in Zeile 15 untersuche, gelten dieselben Regeln für die Auswertung der Zellen in Zeile 14. Im Grunde habe ich erreicht, dass ich die bedingte Formatierung auf ALLE Zeilen anwende, die ich ausgewählt habe, wenn die erste Zeile die Bedingungen erfüllt.
Irgendwelche Ideen?
Es muss nicht durch bedingte Formatierung gelöst werden. VBA oder etwas anderes würde genauso gut funktionieren.
Antwort1
Ich erkenne kein Muster.
IF (len(J7) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J7) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J7) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J8) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J9) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J20) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.
Ist dies Ihr tatsächliches Muster?
IF (len(J14) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J15) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J16) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J18) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J19) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J20) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.
Antwort2
Die Regel ist, dass Sie die Formel anwenden müssen, die für dieZelle oben linksdes Bereichs - Excel passt die Formel automatisch an das Ergebnis des Bereichs an, als ob die Formel in das Arbeitsblatt kopiert würde. Wenn Sie also einen Bereich wie auswählen, I14:I1000
können Sie die Formel anwenden, die für richtig wäre I14
, d. h.
=LEN(J$7&H14&I14)>256
Weil ich im J7-Wert ein $ verwendet habe, das die Zeile auf 7 „fixiert“, während die anderen Zeilen hochzählen. Das sieht man nicht explizit, aber so funktioniert es intern.
Hinweis: Sie benötigen keine IF-Anweisung, sondern nur einen "Test", der zu folgendem Ergebnis führt TRUE
oderFALSE
Antwort3
Wählen Sie die Spalte(n) aus, die Sie beeinflussen möchten, und verwenden Sie diese Formel.
=(LEN($J$7)+LEN($H1)+LEN($I1))>256