Как мне столбец над линией - PullRequest
2 голосов
/ 22 марта 2012
       |---+-----+------------+-----------------------+-----------------------+-----+--------+------------+----------+-------|
       |   | Day |       Date | Star of day           | End of day            | Lunch | Sum of day | Float time | MyTime |       |
       | / |   < |          > | <                     |                       | >   |        |          < |        > |       |
       |---+-----+------------+-----------------------+-----------------------+-----+--------+------------+----------+-------|
       | ! | Dag |       Date | Start                 | End                   | Lunch | SOD    |  floatTime |    myTime |  Week |
       | / |     |            |                       |                       | <3> | <6>    |            |      <8> |       |
       | # |   1 | 2012-03-01 | <2012-03-01 to 08:20> | <2012-03-01 to 17:15> | 42  | 08:13  |    29580.0 |    8.217 | 16:49 |
       | # |   2 | 2012-03-02 | <2012-03-22 to 10:00> | <2012-03-22 to 14:00> | 42  | 03:18  |    11880.0 |    3.300 | 16:49 |
       | # |   3 | 2012-03-03 | <2012-03-22 to 08:00> | <2012-03-22 to 14:00> | 42  | 05:18  |    19080.0 |    5.300 | 16:49 |
       |---+-----+------------+-----------------------+-----------------------+-----+--------+------------+----------+-------|
       |   |     |            |                       |                       |     | Sum    |      16:49 |   16.817 | 11:31 |

У меня есть следующая таблица, в которой используются формулы:

# Column Formulas
$7 = '(format-seconds "%.2h:%.2m" (- (- (float-time (org-time-string-to-time $End)) (float-time (org-time-string-to-time $Start))) (* (string-to-number $Lunch) 60)))
$8 = '(number-to-string (- (- (float-time (org-time-string-to-time $End)) (float-time (org-time-string-to-time $Start))) (* (string-to-number $Lunch) 60)))
$9 = '(/ (string-to-number (format-seconds "%m" $floatTime)) 60.0);%.3fN
$10 = '(format-seconds "%.2h:%.2m" (+ @-I$8..@+I$8));N

# Named Field Formulas
$LR10 = $LR8
$LR7 = Sum
$LR8 = '(format-seconds "%.2h:%.2m" (+ @2..));N
$LR9 = '(+ @2..@-I);N

У меня проблема в 10 долларов, я хотел бы показать только рассчитанную сумму для текущей недели, простовыше линии, не в каждом столбце за неделю?


Извините, возможно, было немного неясно, чего я хотел.Я попытаюсь сделать макет, чтобы объяснить мою проблему:

|--------+-------|
| Number | prob  |
|--------+-------|
|   25.0 |       |
|   50.0 |       |
|   30.0 |       |
|   10.0 | 115.0 |
|--------+-------|
|   10.0 |       |
|   20.0 |  30.0 |
|--------+-------|
|   145. |       |

это таблица, которая у меня есть.$ LR1 = vsum (@ 2 .. @ - I) проблема, которую я имею, состоит в том, чтобы вычислить значения в $ 2 непосредственно перед хлайн.Какая сумма поля между хлайнами? Имеется в виду 30,0 и 115,0 .. Как мне это сделать?

В основном @ + I $ 2 (хотя у меня это не работает ..

1 Ответ

1 голос
/ 23 марта 2012

Это можно сделать, хотя для работы требуется немного креативная формула.(Это должно работать проще, но по какой-то причине очевидная ссылка на ячейку не работает).

При использовании таблицы-примера требуемые формулы приведены ниже (обратите внимание, что я разбил строку формулы в середине ::.это разделяет формулы, чтобы избежать переноса.

|--------+------|
| Number | prob |
|--------+------|
|     25 |      |
|     50 |      |
|     30 |      |
|     10 |  115 |
|--------+------|
|   10.0 |      |
|   20.0 |  30. |
|--------+------|
|   145. | 145. |
|--------+------|
#+TBLFM: @IIIII-1$2..@IIIII$2=vsum(@IIII$1..@IIIII$1):
:@IIII-1$2..@IIII$2=vsum(@III$1..@IIII$1):
:@III-1$2..@III$2=vsum(@II$1..@III$1)

Так что для любой области между двумя горизонтальными линиями вы должны установить желаемую строку как: @II-1$2..@II$2, или в случае вашего исходного примера это будет @II-1$10@II$10

Форма @I-1, кажется, работает только в формулах диапазона, хотя она должна указывать только одну строку. Поэтому вам нужно использовать диапазон @I-1..@I, чтобы выбрать только один желаемыйстрока (а затем укажите, какой столбец)

...