Bir Kuruluş modu tablosundaki bir sütunu kalıcı olarak toplama


87

Bir Emacs Org modu tablosunda, tam sayılarla dolu bir sütununuz olduğunda , değerlerin toplamını sütuna yapıştırmak için C-c +bunu yapabileceğinizi biliyorum C-y. Her zaman tüm sütunu toplamak için son satıra yerleştirilecek formülü bilmek istiyorum .

Her şeyi denedim. Docs nasıl iki sütun birlikte ancak tek özetlemek göstereceğiz.


4
Elimdeki en iyi şey, tablonun üstüne ve altına bir üst çizgi eklemek ve bir sütun formülü yapmak: = vsum (@I .. @ II)
Mauvis Ledford

Bilginize, burada hline hedefleme hakkında benzer bir soru yayınladım: stackoverflow.com/questions/6689424/… Bu soru zaten oy alıyor ve yanıt farklı olabilir, bu yüzden bu arada bırakacağım.
Mauvis Ledford

Yanıtlar:


62

^İşaretini kullanarak bir alan adı atayın :

|---+---|
|   | 1 |
|   | 2 |
|   | 3 |
|---+---|
|   | 6 |
| ^ | x |
|---+---|
#+TBLFM: $x=vsum(@1..@-1)

Bkz Org Kılavuzu , Bölüm-3.5.9 İleri Özellikler .


Teşekkürler! Bu oldukça iyi çalışıyor ve bunda iyiyim, ancak şimdi aynı şeylere sahip bir "başlık" hline ve "altbilgi" hline'ım var. Sadece başlık hline'ı kullanarak bunun bir yolu var mı? Dokümanlarda "-" işareti var, ancak daha sonra vsum'u nasıl kullanacağımı bilmiyorum (@ 2 .. @ [son öğe]).
Mauvis Ledford

4
Ayrıca şunları da yapabilirsiniz#+TBLFM: @row$col=vsum(@1..@-1)
mgalgs

7
I getUnknown field: x
incandescentman

Ayrıca bilinmeyen alanım var. Kılavuzu okuyun, temel olarak yukarıdaki örnekte ^ xx'in üstündeki satırı çağırıyor, böylece 6, 1, 2, 3 vsum değerinden hesaplanıyor.
Japhir

58

Bir tablonun son satırı şöyledir @> : Örneğin, son satırdaki üçüncü sütunun toplamını almak için aşağıdaki formülü kullanabilirsiniz.

@>$3=vsum(@2..@-1)

@2Başlık satırınız yoksa belki de uyarlamalısınız ...


42

Yine bir başka ihtimal markaları yatay çizgi (kullanımı @I, @IIvs.) tablo yapı her durumda faydalı olan:

| What  |    $$ |
|-------+-------|
| Ice   |  3.00 |
| Soda  |  6.49 |
| Gin   |  4.99 |
|-------+-------|
| Total | 14.48 |
#+TBLFM: @>$2=vsum(@I..@II)

Başlık olmadan, toplamın @0zaten başkaları tarafından önerildiği gibi başlamasına izin verin .

Düzenleme: Bunu zaten sorunuza bir yorumda yazdığınızı gördüm.


@I ve @II'nin yatay kurallara atıfta bulunduğunu anlamam bir dakikamı aldı, ancak masanızı bu şekilde düzenlerseniz bunu yapmanın en basit yolu olduğunu düşünüyorum.
2020

9

Bunu deneyebilirsiniz:

$<col_num>=<func>(@2..@-1))

@2statiktir. 2. sırayı ifade eder. @-1ikinciden son satıra kadar olan satırı ifade eder

Bunun en kolay ve müdahaleci olmayan yol olduğunu düşünüyorum. Sütun adlarınızı korur ve görsel alanı karıştırmaz. Son satırı ele almanızı gerektirmez. Varsayılan olarak ele alınmıştır.

Satırlar eklenebilir / çıkarılabilir. Başka işaret yok.

Örneğin.
#+TBLFM: $3=vmean(@2..@-1)::$4=vsum(@2..@-1))

Örnek tablo

   | 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(@2..@-1)

0
|  3 |
|  2 |
|  5 |
| 10 |
#+TBLFM: @4$1=vsum(@1..@-1)

@11. satırı ve @-1formülü içeren satırdan önceki satırı ifade eder . Bu formül hlines yoksayar:

|  3 |
|  2 |
|  5 |
|----|
| 10 |
#+TBLFM: @4$1=vsum(@1..@-1)

0

Okuyucuya aşikar olmayabilecek bir şey, fonksiyonun vsum()sum () olmamasıdır.

Diğer bir şey de, @2..@-1toplanan sütun için satıra özgü etikete bir referans olmasıdır. $A$1Excel'de şey gibi @1$1bir referans çok vsum(@2..@-1)satır indeksi olarak kullanılarak kolondan değerlerinin bir toplamını yapmak" söylediğini @(yani, ikinci son) satır -1th için, aralık 2 değeri, ama sütun [@2$col @3$col @4$col... @-1$col]Bu kavramları Excel'e eşlemeye çalışırsanız , buna "verilen"

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.