webentwicklung-frage-antwort-db.com.de

Permanente Summierung einer Spalte in einer Tabelle im Org-Modus

Wenn Sie in einer Emacs-Org-Modus-Tabelle eine Spalte voller Ganzzahlen haben, wissen wir, dass Sie C-c + gefolgt von C-y, um die Summe der Werte in die Spalte einzufügen. Ich möchte die Formel kennen, die in die letzte Zeile eingefügt werden soll, um immer die gesamte Spalte zu summieren.

Ich habe alles versucht. Die docs zeigen Ihnen, wie Sie zwei Spalten zusammenfassen, aber keine.

79
Mauvis Ledford

Vergeben Sie einen Feldnamen mit dem ^ Kennzeichen:

|---+---|
|   | 1 |
|   | 2 |
|   | 3 |
|---+---|
|   | 6 |
| ^ | x |
|---+---|
#+TBLFM: $x=vsum(@[email protected])

Siehe The Org Manual , Abschnitt-3.5.9 Advanced Features .

49
huaiyuan

Die letzte Zeile einer Tabelle ist @>. Um beispielsweise die Summe für die dritte Spalte in der letzten Zeile zu erhalten, können Sie die Formel verwenden

@>$3=vsum(@[email protected])

Vielleicht müssen Sie den @2 Anpassen, wenn Sie keine Kopfzeile haben ...

50
Andre

Eine weitere Möglichkeit besteht darin, horizontale Linien (@I, @II Usw.) zu verwenden, die für die Strukturierung Ihrer Tabelle nützlich sind:

| What  |    $$ |
|-------+-------|
| Ice   |  3.00 |
| Soda  |  6.49 |
| Gin   |  4.99 |
|-------+-------|
| Total | 14.48 |
#+TBLFM: @>$2=vsum(@[email protected])

Lassen Sie die Summe ohne Header bei @0 Beginnen, wie bereits von anderen vorgeschlagen.

Edit: Ich habe gerade gesehen, dass du das selbst schon in einem Kommentar zu deiner Frage geschrieben hast.

29
quazgar

Sie können dies versuchen:

$<col_num>=<func>(@[email protected]))

@2 Ist statisch. Es bezieht sich auf die 2. Reihe ab. @-1 Bezieht sich auf die vorletzte Zeile.

Ich denke, das war der einfachste und nicht aufdringlichste Weg. Die Spaltennamen bleiben erhalten, und der visuelle Raum wird nicht unübersichtlich. Es ist nicht erforderlich, dass Sie die letzte Zeile ansprechen. Es wird standardmäßig angesprochen.

Zeilen können hinzugefügt/entfernt werden. Keine anderen Marker.

z.B.
#+TBLFM: $3=vmean(@[email protected])::$4=vsum(@[email protected]))

Probentabelle

   | Time                   | Input             | Test      | InQty |
   | <2018-03-13 Tue 06:15> | Water             |           |   200 |
   | <2018-03-13 Tue 07:03> |                   |           |       |
   |                        |                   |           |       |
   | <2018-03-13 Tue 07:31> | Water             |           |   180 |
   | <2018-03-13 Tue 09:00> | Chai              |           |   240 |
   | <2018-03-13 Tue 11:30> | Chai              |           |   240 |
   | <2018-03-13 Tue 16:01> | Water             |           |    60 |
   |                        |                   |           |       |
   |------------------------+-------------------+-----------+-------|
   |                        |                   |           |   920 |
   #+TBLFM: $4=vsum(@[email protected])
3
Johnson