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

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

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



답변

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

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

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


답변

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

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

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


답변

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

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

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

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


답변

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

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


답변

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

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

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


답변

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

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


답변