Schnellstart

 

Schlüsselfunktionen des Dialogs Werte setzen

Der Dialog Werte setzen nimmt einen einzeiligen, benutzerdefinierten Ausdruck und füllt ein oder mehrere Arbeitsblattspalten (oder Teile der Spalten) mit Werten, die durch den Ausdruck erzeugt werden. Der Ausdruck -- direkt im Feld Formel eingegeben -- kann arithmetische Operatoren, Spalten- und Zellenreferenzen, Funktionen, benutzerdefinierte Variablen, Konstanten etc. einbinden (siehe unten). Die Funktionen zur Syntaxfarbgebung im Dialog Werte setzen

SCV dialog features8.png


Optionale Registerkartenz zur Programmierung:

SCV BFS Python Tabs.png
  • Die Registerkarte Skript vor Anwenden der Formel nimmt eine oder mehrere Zeilen des LabTalk-Skripts und führt das Skript aus, bevor der Ausdruck im Feld Spaltenformel ausgeführt wird. Dadurch werden solche Operationen wie die Vorverarbeitung der Eingabedaten, die Definition von Funktionen, Variablen und Konstanten für die Verwendung im Feld Formel etc. möglich. Weitere Informationen zur Verwendung des Felds Skript vor Anwenden der Formel finden Sie unter Ausdrücke im Dialog Werte setzen eingeben. Hilfe für die Bedienelemente des Dialogs Werte setzen finden Sie unter Menüoptionen und Dialogbedienelemente.
  • Die Registerkarte Python-Funktion ermöglicht Ihnen die Definition von Python-Funktionen, die in Ihren Spaltenformeln aufgerufen werden können. Auch wenn Sie Funktionen in einer externen Datei speichern können, erlaubt Ihnen die Registerkarte Python-Funktion, Ihren Code in einer Origin-Vorlagendatei für die wiederholte Nutzung zu speichern. Außerdem können Sie Ihre Python-Funktionen direkt über das Feld Spaltenformel oder über das LabTalk -Skript der benachbarten Registerkarte Skript vor Anwenden der Formel aufrufen. Ein schnelles Beispiel/Tutorial, das die Verwendung der Registerkarte Python-Funktion demonstriert, sehen Sie unten. Weitere Ausführungen zu Python und Origin finden Sie in Origins Python-Dokumentation.
SCV BFS Call Python Tab.png

Um Beispiele im Dialog Werte setzen zu laden, klicken Sie auf Formel, Sample laden > und wählen Sie auf der Liste der Beispielformeln.

Seit Origin 2018 SR0 können Berechnungen auf Zellenebene (im Gegensatz zur Spaltenebene) durchgeführt werden. Siehe Mit einer Formel die Zellenwerte festlegen.

Notation von Tabellenkalkulationsblattzellen

Seit Origin 2017 SR0 ist die Vereinfachte Zellennotation (SCN) standardmäßig aktiviert. Wenn die SCN eingeschaltet ist, können Sie die vereinfachte Notation verwenden. Sie können auch die Notation vor 2017 verwenden, indem Sie entweder das Feld Spaltenformel oder die Spaltenbeschriftungszeile F(x)= verwenden. Beachten Sie jedoch, dass einige Beschränkungen gelten, wenn Sie die ältere Syntax "col" bzw. "wcol" verwenden.

Beim Öffnen der Origin-Dateien (OPJ, OGW etc.), die vor Origin 2017 gespeichert wurden, ist die SCN in der Arbeitsmappe ausgeschaltet. Sie kann jedoch auch in älteren Dateien über den Dialog Fenstereigenschaften aktiviert werden. Wenn Sie die vereinfachte Zellennotation nicht aktivieren (sie lassen das Kontrollkästchen Zellennotation für Tabellenkalkulationsblatt deaktiviert), müssen Sie die ältere Spalten- und Zellennotation in den Formeln in Werte setzen und F(x)= in allen betroffenenen Arbeitsmappen durchgehend verwenden.

Beachten Sie, dass die neue Zellennotation nur im Feld Spaltenformel und in der Beschriftungszeile F(x)= verwendet werden kann. Sie kann nicht im Feld Skript vor Anwenden der Formel unter Werte setzen und in LabTalk-Skripten an anderer Stelle in Origin verwendet werden.

Referenzen auf Spalten und Zellen

Innerhalb eines gegebenen Arbeitsblatts werden Spalten- und Zellenreferenzen nun auf folgende Weise gemacht:

A; // Reference auf Spalte A im gleichen Blatt A1; // Referenz auf Spalte A, Zeile 1 im gleichen Blatt

Siehe Beispiele für Spaltenformel unten.

Referenzen auf andere Blätter und Mappen

Vor Origin 2017 mussten Sie eine Bereichsvariable definieren, um Daten in anderen Blättern und Mappen in Ihren Formeln im Dialog Werte setzen zu verwenden. Wie in der Tabelle oben zu sehen, können Sie durch Verwendung der neuen Zellennotation direkte Referenzen zu Daten in anderen Blättern und Mappen vornehmen. Dies wird in der Beschriftungszeile F(x)= und im Feld Spaltenformel des Dialogs Werte setzen unterstützt. Die neue Zellennotation muss in den Zielmappen aktiviert werden.

Verwenden Sie die folgende Syntax:

1!A; // reference to column A in first sheet in the same book Sheet1!A; // reference to column A in a named sheet ([Sheet1]) in the same book [Book1]1!A; // reference to column A in the first sheet in another book ([Book1]) [Book2]Sheet1!B2; // reference to row 2 of column B, in a named sheet ([Sheet1]) in another book ([Book2])

Siehe Beispiele für Spaltenformel unten.

Standardmäßig ersetzt Origin den Blattkurznamen nicht automatisch beim Eingeben der Referenzen wie 2!a2 in die Zeile F(x)= oder in eine Zellenformel. Sie können dieses Verhalten durch Ändern des Werts der LabTalk-Systemvariable @SCVU=0 ändern.

Mögliche Eingaben in den Feldern Formel und Skript vor Anwenden der Formel

Ausdrücke können eine der folgenden Optionen enthalten. Beachten Sie, dass Bereichsvariablen vordefiniert sein müssen (z.B. Skript vor Anwenden der Formel), bevor Sie sie für den Ausdruck im Feld Spaltenformel verwenden können:

Datenbezüge Variablen Operatoren Funktionen Constants

Muss im Feld Skript vor Anwenden der Formel, Skriptfenster etc. vordefiniert sein.

Beachten Sie, dass die Menübefehle Werte setzen wcol(1), Col(A), Funktionen und Variablen nützlich zum Durchsuchen und Einfügen von Datenreferenzen, Funktionen, Variablen und Konstanten in die Felder Formel bzw. Skript vor Anwenden der Formel sind. Ausgewählte Elemente werden beim Cursor eingefügt. Seit Origin 2017 SR0 unterstützen diese Menüfunktionen nur die ältere Spalten- und Zellennotation (keine neue Tabellenblattzellennotation).

Es gibt eine schnelle Möglichkeit, ein bedingtes Kontroll- oder Schleifenskript zu laden, wenn Sie ein Skript in das Feld Skript vor Anwenden der Formel eingeben. Klicken Sie mit der rechten Maustaste auf das Feld Skript vor Anwenden der Formel, um Bedingt/Schleife unten im Kontextmenü auszuwählen. Wählen Sie dann eine gewünschte bedingte Struktur oder Schleife im Ausklappmenü. Die Syntax wird beim Cursor mit einfachen Kommentaren hinzugefügt.

Hilfe für die Bedienelemente des Dialogs Werte setzen finden Sie unter Menüoptionen und Dialogbedienelemente.

Beispiele für Formel

Dies sind Beispiele für "alleinstehende" Ausdrücke, die im Feld Formel verwendet werden können.

Neue Zellennotation Ältere Notation Beschreibung
B - C col(B)-col(C) Ergibt die Differenz zwischen col(B)[i] and col(C)[i].
2!B - 3!C N/A Ergibt die Differenz zwischen Blattindex 2, col(B)[i], und Blattindex 3, col(C)[i].
[Book2]Sheet1!A - [Book3]Sheet1!A N/A Ergibt die Differenz zwischen [Book2]Sheet1!A[i] und [Book3]Sheet1!A[i].
[Book2]Sheet1!A - [Book3]Sheet1!A2 N/A Ergibt die Differenz zwischen [Book2]Sheet1!A[i] und [Book3]Sheet1!, Zelle A2.
sin(pi*B) sin(pi*col(B)) Ergibt den Sinus von col(B)[i] mal Pi.
today() Keine Änderung Ergibt das aktuelle Datum.
A$ + B$ col(A)$ + col(B)$ Wandelt Spalte A und B intern in Zeichenketten um und fasst diese zusammen.
A>0? A: Na() col(A)>0? col(A): Na() Wenn col(A) > 0, dann wird col(A) ausgegeben; ansonsten wird ein fehlender Wert ausgegeben (siehe LabTalk Utility Function, Na()).
B-B1 col(B)-col(B)[1] Subtrahiert den ersten Punkt in Spalte B von allen anderen Werten in Spalte B.
A + StartTime (Startzeit) N/A Fügt den Wert "StartTime" des benannten Bereichs zu den Werten in Spalte A hinzu.
total(A[i-1:i+3]) total(col(A)[i-3:i+3]) Ergibt die Summe eines Unterbereichs von i-3 bis i+3 in col(A), wobei i der Zeilenindex ist.
sum(A:C, D:G, F) N/A Ergibt die zeilenweise Summe der Werte in den Spalten A bis C, D bis G und F.
(wcol(j)*2)-1 Keine Änderung Kann verwendet werden, um die j-te Spalte zu transformieren (alle ausgewählten Spalten), indem jeder Wert mit 2 multipliziert wird und 1 subtrahiert.
Hinweis: Wenn Sie i und j im Dialog Werte setzen oder in der Spaltenbeschriftungszeile F(x)= verwenden, müssen Sie für sie Kleinbuchstaben verwenden. Die Großbuchstaben I und J werden als Spaltenkurznamen des Arbeitsblatts interpretiert.

Verwenden Sie "end" oder "0", um die letzte Zelle in einer Spalte zu definieren, z. B. total(A[10:end])-B[i] oder total(A[10:0])-B[i].

Automatische Vervollständigung

Seit Origin 2022 erhalten das Feld der Spaltenformel im Dialog Werte setzen und die Beschriftungszeile F(x)= Unterstützung durch die automatische Vervollständigung für LabTalk-unterstützte Funktionen und Bereiche mit Namen.

Wenn Sie die Funktion nicht nutzen möchten, können Sie sie für Spalten- und/oder Zellenformeln/F(x)= deaktivieren:

  1. Wählen Sie Einstellungen: Systemvariablen.
  2. Geben Sie in eine leere Variablenzelle FAC ein.
  3. Geben Sie eine der folgenden Zahlen in die Zelle Wert ein (Werte sind zusätzlich): 0 = automatische Vervollständigung ausschalten, 1 = für Zellenformel und die Beschriftungszeile F(x)= aktivieren, 2 = für Spaltenformel aktivieren, 3 (Standard) = für Zellenformel/F(x)= und Spaltenformel aktivieren.
  4. Klicken Sie auf OK, um den Dialog zu schließen.

Formeln erneut verwenden

Wenn Sie Ihre Formeln zum Werte setzen mitsamt dem Code in Skript vor Anwenden der Formel und Python-Funktion erneut verwenden wollen, können Sie:

  • Speichern Sie die Formel durch (1) Klicken auf Formel: Speichern unter im Menü von Werte setzen oder durch (2) Klicken auf die Schaltfläche Formel speichern Button Save X Function.png in Werte setzen. Um Ihre Formel in Werte setzen neu zu laden, klicken Sie auf Formel: Laden und wählen Sie Ihre Formel. Wählen Sie bei ausgewählter Spaltenbeschriftungszeile F(x)= Zelle im Menü Spalte: Mit Anwenderformel füllen; oder klicken Sie mit der rechten Maustaste in die Zelle und wählen Sie Laden.
  • Sie können die Formeln für Werte setzen mit einer Arbeitsmappenvorlage speichern. Wenn Sie eine Instanz der Arbeitsmappenvorlage öffnen, sind Ihre Formeln in Werte setzen verwendungsbereit.

Hinweis: Wenn Spaltenformeln nicht automatisch aktualisiert werden

Bei Verwendung der neuen vereinfachten Syntax können Sie eine Spaltenformel in Spalte C definieren, die sich auf Werte in Spalte A und Spalte B bezieht. Fügen Sie dann eine Spalte zwischen Spalte A und B ein. Die Spaltenreferenzen in der Formel werden mit der Neuzuweisung der Spaltenkurznamen aktualisiert. Dieses Verhalten wird jedoch nicht unter irgendeiner der folgenden Bedingungen unterstützt:

  • Die Spaltenformel verwendet die Funktionen col() oder wcol().
  • Ihre Spaltenformel verwendet ein Skript, das in das Feld Skript vor Anwenden der Formel im Dialog Werte stezen eingegeben wurde.
  • Ihre Spaltenformel enthält Klammern "{}".
  • Ihre Spaltenformel enthält Blattindexreferenzen im Gegensatz zu Blattnamensreferenzen (z.B. 1!A vs. Sheet1!A).

Wenn eine Spaltenformel von einer dieser Bedingungen betroffen ist, wird die Spaltenformel nicht aktualisiert.

Zusätzliche Informationen

Zwei schnelle Beispiele

Werte setzen für eine einzelne Spalte

Das folgende kurze Tutorial zeigt Ihnen, wie Sie diesen Dialog verwenden, um Daten für eine simulierte Gaussian-Kurve zu erzeugen.

  1. Öffnen Sie eine neue Arbeitsmappe, indem Sie auf die Schaltfläche Neue Arbeitsmappe New Workbook.png auf der Symbolleiste Standard klicken.
  2. Markieren Sie Spalte A, klicken Sie mit der rechten Maustaste darauf und wählen Sie Spaltenwerte berechnen im Kontextmenü aus, um den Dialog Werte setzen zu öffnen.
  3. Geben Sie {-1:0,03:5} im Bearbeitungsfeld Spaltenformel ein und klicken Sie dann auf die Schaltfläche Anwenden. Spalte A sollte mit einer Reihe von Zahlen gefüllt sein.
  4. Dann wird eine der Navigationsschaltflächen verwendet, damit Sie einen Ausdruck für die zweite Spalte ohne Schließen des Dialogs eingeben können. Klicken Sie auf die Schaltfläche Weiter Next Button.png. Sie sehen, dass Spalte B im Arbeitsblatt markiert ist.
  5. Geben Sie jetzt 1 + (5/(1,5*sqrt(PI/2)))*exp(-2*((A-2)/1,5)^2) im Bearbeitungsfeld Spaltenformel ein und wählen Sie Auto in der Auswahlliste Neu berechnen.
  6. Klicken Sie auf OK. Der Dialog Werte setzen wird geöffnet. Die Ergebnisse werden im folgenden Arbeitsblatt angezeigt.
    (Wenn Sie ein Liniendiagramm der Spalte B erstellen, erhalten Sie ein ähnliches Diagramm wie dem neben der Arbeitsmappe.)
    Quick Start SetColumnValues 1.png
  7. Klicken Sie doppelt auf die Spaltenbeschriftungszeile F(X) der Spalte B und ändern Sie die Formel in 1+5/(1,5*sqrt(PI/2))*exp(-2*(A-2)/1,5*2). Der Wert in Spalte B wird automatisch aktualisiert.
    (Klicken Sie auf die Schaltfläche Neu skalieren Button Rescale.png. Das Diagramm wird ebenfalls aktualisiert.)
    Quick Start SetColumnValues 2.png

Origin unterstützt einen Teilbereich einer Spalte als Funktionsargument in dem Dialog Werte setzen.

Zum Beispiel: Um die Summe eines Teilbereichs von i-3 bis i+3 in Spalte A zu berechnen (wobei "i" der Zeilenindex ist), können Sie eine Formel in dem Bearbeitungsfeld Spaltenformel eingeben.

Total(A[i-3:i+3])

Werte setzen für mehrere Spalten

Das folgende kurze Tutorial zeigt Ihnen, wie Sie diesen Dialog verwenden, um Daten für mehrere Spalten gleichzeitig zu erzeugen.

  1. Erstellen Sie ein neues Projekt, indem Sie auf die Schaltfläche Neues Projekt Button New Project.png auf der Symbolleiste Standard klicken.
  2. Klicken Sie auf die Schaltfläche Mehrfachimport ASCII Button Import Multiple ASCII.png, um die Dateien F1.dat und F2.dat aus dem Verzeichnis <Origin>\Samples\Import and Export\ zu importieren. Setzen Sie im Dialog impASC die Option Importmodus für mehrere Dateien (außer der 1. Datei) auf Neue Arbeitsmappen öffnen und klicken Sie auf OK.
  3. Es werden zwei Arbeitsmappen erstellt mit den Namen F1 und F2. Klicken Sie auf die Schaltfläche Neue Arbeitsmappe New Workbook.png auf der Symbolleiste Standard, um eine weitere Arbeitsmappe zu erstellen.
  4. Klicken Sie bei aktiver 3. Arbeitsmappe auf die Schaltfläche Neue Spalten anhängen Button Add New Columns.png, um eine Spalte hinzuzufügen. Markieren Sie alle Spalten, wählen Sie Spalte: Werte für mehrere Spalten festlegen im Hauptmenü oder klicken Sie mit der rechten Maustaste, um das Kontextmenü aufzurufen und Werte für mehrere Spalten festlegen auszuwählen. Der Dialog Werte setzen wird geöffnet.
  5. Erweitern Sie das untere Bedienfeld durch Klicken auf die Schaltfläche Skripte zeigen Button Show Scripts.png. Geben Sie unten die Skripte im Bearbeitungsfeld Skript vor Anwenden der Formel ein,
    range r1=[F1]F1!wcol(j); //"j" is the column index. range r2=[F2]F2!wcol(j);
    
  6. Geben Sie im Bearbeitungsfeld Spaltenformel (r1+r2)/2 ein.
  7. Wählen Sie Optionen: Formelzelle direkt bearbeiten, um die Option zu deaktivieren.
  8. Wählen Sie Optionen: Formeltext... und geben Sie (F1+F2)/2 im Dialog Formeltext ein. Klicken Sie dann auf OK.
  9. Klicken Sie auf OK im Dialog Werte setzen. Die Ergebnisse werden im Arbeitsblatt aufgeführt und (F1+F2)/2 in der Spaltenbeschriftungszeile F(x) statt der Formel angezeigt.

Verwenden Sie zum Definieren von Variablen in Skript vor Anwenden der Formel Kleinbuchstaben für Variablennamen (z.B. "r1", nicht "R1"). Die Verwendung von Großbuchstaben erzeugt einen Fehler wie den folgenden:

Die Beschränkung des Spaltenkurznamens ist aktiviert. R1 bezieht sich auf die Zelle und kann nicht als Variable definiert werden. Die Operation für Book1_G ist aufgrund eines Fehlers in den Skripten von Werte setzen fehlgeschlagen.



Die Registerkarte Python-Funktion

Python-Funktionen können über das Feld Spaltenformel oder über die Registerkarte Skript vor Anwenden der Formel aufgerufen werden, abhängig von Ihren Anforderungen. Diese Funktionen können in einer externen Datei oder auf der Registerkarte Python-Funktion von Werte setzen definiert werden. Der Vorteil bei ihrer Definition im Dialog Werte setzen besteht darin, dass sie mit dem Projekt oder mit einer Vorlage zur wiederholten Nutzung gespeichert werden.

Python-Funktionen werden auf der Registerkarte mit folgender Form definiert ...

def ff(a)

...und auf der Registerkarte Skript vor Anwenden der Formel oder im Feld Spaltenformel aufgerufen mit ...

py.ff(a)


Weitere Informationen zur Verwendung von Python im Dialog Werte setzen finden Sie unter Python verwenden in Hilfsmitteln und Dialogen > Werte setzen.

Wenn die Zelle F(x)= (1) mit "py." beginnt und (2) eine in einer externen Datei definierten Python-Funktion aufruft, können Sie mit der rechten Maustaste auf die Zelle F(x)= klicken und Python-Datei öffnen wählen, um die Python-Funktion in der Entwicklungsumgebung (IDE) des Code Builder zu öffnen.

Beispiel

Dieses einfache Tutorial zeigt Ihnen, wie Sie eine Funktion auf der Registerkarte Python-Funktion definieren und sie im Feld Spaltenformel aufrufen:

  1. Öffnen Sie eine neue Arbeitsmappe und klicken Sie auf die Schaltfläche ASCII-Dateidaten importieren Button Import Single ASCII.png auf der Symbolleiste Import.
  2. Navigieren Sie zu und öffnen Sie die Datei <Origin-Programmordner>\Samples\Signalverarbeitung\Signal with High Frequency Noise.dat.
  3. Klicken Sie auf die Schaltfläche Neue Spalten anhängen Button Add New Columns.png auf der Standardsymbolleiste.
  4. Klicken Sie auf die neue Spaltenüberschrift, um die Spalte zu markieren, klicken Sie dann mit der rechten Maustaste und wählen Sie Spaltenwerte festlegen.
  5. Falls es nicht angezeigt wird, erweitern Sie das untere Bedienfeld durch Klicken auf die Schaltfläche Skripte zeigen Button Show Scripts.png.
  6. Klicken Sie auf die Registerkarte Python-Funktionen, kopieren Sie Folgendes und fügen Sie es ein:
    import numpy as np from scipy import signal def smooth(y,npts, norder): """ F:Fii Perform Savitzky-Golay smoothing using scipy signal """ #npts: number of points for smoothing window #norder: polynomial order y=signal.savgol_filter( np.array(y), npts, norder ) return y
    
  7. Klicken Sie in das Feld Spaltenformel und geben Sie Folgendes ein:
    py.smooth(B,101,3)
    
  8. Klicken Sie auf OK und die Spalte wird mit geglätteten Werten gefüllt.