So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden ZellenHallo zusammen,
Ich möchte Zellwerte zwischen zwei Zellen basierend auf Muster/Text in diesen beiden Zellen füllen/ersetzen. Bitte schauen Sie sich das beigefügte Bild und die Daten an.
Irgendeine Hilfe, Danke, - HSS

Automatisierung und SkripterstellungBetreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden Zellen@jthi
Entschuldigen Sie die späte Antwort, ich war im Urlaub. Dies scheint eine allgemeinere Vorgehensweise zu sein. Ich werde versuchen, auf diesem Weg etwas umzusetzen bzw. zu nutzen @Jed_Campbell 's Lösung.
Danke, HSS
Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden Zellen@Jed_Campbell
Entschuldigen Sie die späte Antwort, ich war im Urlaub, ja, das wird bei mir funktionieren.
Danke, HSS
Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden ZellenSo etwas könnte funktionieren, wenn ich es richtig verstehe. Sie müssten die Liste in Zeile 3 jedes Mal ändern, damit sie die richtige Liste ist, und der Abschnitt „Try“ ist vorhanden, weil die Schleife derzeit nicht weiß, was sie mit der letzten Gruppierung tun soll. Wenn dies der richtige Ansatz ist, könnten Sie den Abschnitt „Try“ durch einige bessere Bedingungen überflüssig machen. Führen Sie das folgende Skript aus, um mit Ihrer Beispieldatentabelle zu arbeiten:
dt = Data Table( "Sample_Data" );
lstStates = {"Initialization", "Ramp", "Heat", "Other"};
lstLocs = dt << Get Rows Where( Contains( :Current_State_Code, "amp" ) );
Try(
For Each( {i, j}, lstLocs,
For Each Row(
dt,
If( (Row() > lstLocs[j] & Row() < lstLocs[j + 1]),
:Current_State_Code = lstStates[j];
)
)
)
);
Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden ZellenAllein auf der Grundlage der bereitgestellten Beispieldaten müssen wir nicht wissen, was dazwischen liegt, sondern nur den Ausgangspunkt. Weil wir nicht genau wissen, wie wir es definieren sollen Initialisierung usw. In diesem Beispiel werden diese nicht verwendet, sondern Zeilennummern für Device_States
Names Default To Here(1);
dt = Open("$DOWNLOADS/Sample_Data.jmp");
state_rows = Loc(dt[0, "Device_State"], "Applied_Current");
states_list = Transform Each({val}, As List(state_rows), Char(val));
/* we don't know how to define values which are to be mapped so we will just use row numbers */
current_states = Associative Array(dt[state_rows, "Current_State_Code"], states_list);
new_col = dt << New Column("State", Character, Nominal);
new_col << Set Each Value(
As Constant(
state = "";
ret_val = "";
);
If(:Device_State == "Applied_Current",
ret_val = :Current_State_Code;
state = current_states[ret_val];
,
ret_val = state;
);
ret_val;
);

Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden ZellenDynamisch bedeutet -
Anzahl der Zeilen dazwischen zwischen „A = 0 Ampere“ und „B = 0,0001 Ampere“.
Tatsächlich sind auch „A = 0 Ampere“ und „B = 0,0001 Ampere“ nicht festgelegt, es können „AA = 0 Ampere“ und „BB = 0,8 Ampere“ sein. Wir müssen lediglich Werte zwischen zwei Zellen eingeben, die Folgendes enthalten: Ampere'. Welchen Wert wir füllen müssen, kommt aus einer anderen Tabelle.
Im gegebenen Datensatz
Geben Sie „Initialisierung“ zwischen „A = 0 Ampere“ und „B = 0,0001 Ampere“ ein.
Füllen Sie „Rampe“ zwischen „B = 0,0001 Ampere“ und „C = 0,001 Ampere“ aus.
und so weiter.
Ich hoffe, das wird helfen.
Danke
Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden ZellenHallo,
Ich habe eine Spalte „Required-Current_State_Code“ – 4. Spalte in der Datentabelle oder dem Bild erstellt.
Ich habe mit dem Befehl „Contains()“ eine dritte Spalte erstellt. Dies kann den Start- und Endwert leerer Zellen liefern.
IF( Enthält( :Current_State_Code, "amp" ), :Required-Current_State_Code = :Current_State_Code, )
Und füllen Sie dann die fehlenden Werte aus. Füllen Sie zum Beispiel „Initialisierung“ zwischen „A = 0 Ampere“ und „B = 0,0001 Ampere“ und so weiter. Diese Füllwerte (Initialisierung, Rampe, Hitze usw.) stammen aus einer anderen Tabelle. Aber die Anzahl der Reihen zwischen „A = 0 Ampere“ und „B = 0,0001 Ampere“ ist nicht festgelegt, daher ist dieser Stromwert ebenfalls nicht festgelegt, z Es kann „B = 0,01 Ampere“ sein. Nur das ist, dass es „amp“ enthalten sollte.
Ich hoffe, das wird helfen.
Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden Zellen
Auf welche Weise dynamisch? Sie haben ein Beispiel genannt, daher ist es schwierig, sich eine Lösung vorzustellen, die die Änderungen abdeckt.
Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden ZellenHallo @HSS ,
Können Sie ein Beispiel dafür geben, womit die leere Spalte gefüllt werden soll? Es hört sich so an, als ob Sie die leeren Zellen in der Spalte „Device_State“ mit einer Art Text füllen wollten, aber aus Ihrem Bild war nicht klar, wie der Text lauten sollte. Es hört sich auch so an, als ob Sie möchten, dass sich dieser Text basierend auf der angewendeten Stromeinstellung ändert, unabhängig davon, ob er 0 Ampere, 0,0001 Ampere usw. ist. Ist das richtig?
Mir ist nicht klar, wie die Informationen in der Spalte Current_State_Code den Text in der Spalte Device_State beeinflussen sollen, falls dies tatsächlich der Fall ist.
Danke!,
DS
Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden ZellenHallo Jed,
Fragen: Sind die Auslöser in der Spalte „Aktueller Statuscode“ statisch oder dynamisch?
Antwort: Dynamisch.
Fragen: Suchen Sie eine GUI-Lösung oder eine Skriptlösung?
Antwort – Skripterstellung.
Danke
Betreff: So füllen/ersetzen Sie Text zwischen zwei Zellen basierend auf bestimmten Werten in diesen beiden ZellenEin paar Fragen:
- Sind die Auslöser in der Spalte „Aktueller Statuscode“ statisch oder dynamisch?
- Suchen Sie eine GUI-Lösung oder eine Skriptlösung?