조직 모드 테이블의 열을 영구적으로 합산


87

당신이 정수의 전체 열이있을 때 이맥스 조직 모드 표에서, 나는 당신이 할 수있는 알고 C-c +다음 C-y열에서 값의 합계를 붙여 넣습니다. 항상 전체 열을 합산 하기 위해 마지막 행에 배치 할 수식을 알고 싶습니다 .

나는 모든 것을 시도했다. 문서는 어떻게 두 개의 열이 함께하지만 하나를 요약하는 방법을 보여줍니다.


4
(@ II @I ..) = vsum : 내가 얻을 수 있었던 가장 좋은 테이블의 상단과 하단에 하이를 추가하고 열 공식을하는 것입니다
Mauvis Ledford

참고로 hline 타겟팅에 대한 비슷한 질문을 여기에 게시했습니다. stackoverflow.com/questions/6689424/… 이 질문은 이미 투표를 받고 있으며 답변이 다를 수 있으므로 그동안 남겨 두겠습니다.
Mauvis Ledford 2011

답변:


60

^표시를 사용하여 필드 이름을 지정하십시오 .

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

조직 매뉴얼 , 섹션 -3.5.9 고급 기능을 참조하십시오 .


감사! 이것은 꽤 잘 작동하고 나는 그것으로 괜찮습니다. 그러나 나는 이제 같은 것을 가진 "header"hline과 "footer"hline을 가지고 있습니다. 헤더 hline을 사용하는 방법이 있습니까? 문서에는 "-"표시가 있지만 vsum (@ 2 .. @ [last item])을 사용하는 방법을 모르겠습니다.
Mauvis Ledford 2011

4
당신도 할 수 있습니다#+TBLFM: @row$col=vsum(@1..@-1)
mgalgs 2012-08-24

7
나는Unknown field: x
incandescentman

나는 또한 알려지지 않은 분야를 얻었다. 매뉴얼을 읽으십시오. 기본적으로 위의 예에서는 ^ xx 위의 행을 호출하므로 6은 1, 2, 3의 vsum에서 계산됩니다.
Japhir

57

테이블의 마지막 행은 @> 예를 들어 마지막 행의 세 번째 열에 대한 합계를 얻으려면 다음 공식을 사용할 수 있습니다.

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

@2헤더 행이 없으면 을 조정해야 할 수도 있습니다 .


40

또 다른 가능성 차종은 수평 라인 (의 사용 @I, @II등) 테이블을 구성 할 어쨌든 도움이되는 :

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

헤더가 없으면 @0이미 다른 사람들이 제안한대로 합계가 시작되도록하십시오 .

편집 : 나는 당신이 당신의 질문에 대한 의견에 이미 이것을 직접 썼다는 것을 봤습니다.


@I와 @II가 수평 규칙을 참조한다는 것을 이해하는 데 1 분 정도 걸렸지 만 테이블을 이렇게 구성하면 이것이 가장 간단한 방법이라고 생각합니다.
threeve

9

이것을 시도 할 수 있습니다.

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

@2정적입니다. 2 번째 줄부터 참조합니다. @-1두 번째에서 마지막 행을 나타냅니다.

나는 이것이 가장 쉽고 방해가되지 않는 방법이라고 생각합니다. 열 이름을 유지하고 시각적 공간을 어지럽히 지 않습니다. 마지막 행을 지정할 필요는 없습니다. 기본적으로 해결됩니다.

행을 추가 / 제거 할 수 있습니다. 다른 마커는 없습니다.

예.
#+TBLFM: $3=vmean(@2..@-1)::$4=vsum(@2..@-1))

샘플 테이블

   | 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)

@1첫 번째 행과 @-1수식이있는 행 앞에있는 행을 나타냅니다 . 이 수식은 hline을 무시합니다.

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

0

독자에게 분명하지 않은 것은 함수가 vsum()sum () 이 아니라는 것입니다.

다른 한 가지는, @2..@-1합산되는 열에 대한 행별 레이블에 대한 참조 라는 것입니다. $A$1엑셀 것은 같다 @1$1참조 그렇게 vsum(@2..@-1)행의 인덱스로서 이용하여 열에서의 값의 합을 "라고한다 @(즉, 마지막에서 두 번째) 행을 -1th까지의 범위 (2)에 값이지만 열은 [@2$col @3$col @4$col... @-1$col]이 개념을 Excel에 매핑하려고하면 vsum이 적용되도록 "주어진"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.