From: Michael Brand <michael.ch.brand@gmail.com>
To: Brett Presnell <presnell@member.fsf.org>
Cc: Org Mode <emacs-orgmode@gnu.org>
Subject: Re: Table calculation
Date: Sat, 20 Feb 2016 22:13:47 +0100 [thread overview]
Message-ID: <CALn3zoj1GbdM7xBaccbJgTMOzvz_sywC-_9C+oxZavDnFjCB-Q@mail.gmail.com> (raw)
In-Reply-To: <87mvqvdv95.fsf@ufl.edu>
Hi Brett
On Sat, Feb 20, 2016 at 8:41 PM, Brett Presnell <presnell@member.fsf.org> wrote:
> In the following table, the last row gives the number of empty cells
> following the last nonempty cell in each column (except the first column
> of course). I would like to create a TBLFM formula that does this
> calculation for me automatically. Some time ago I tried using
> org-lookup-last and org-lookup-all for this, but I never got it to work.
> Any ideas/solutions?
>
> | Date | AA | BB | CC | DD | EE | FF | GG | HH | II | JJ | KK | LL | MM |
> |--------+----+----+----+----+----+----+----+----+----+----+----+----+----|
> | / | <> | <> | <> | <> | <> | <> | <> | <> | <> | <> | <> | <> | <> |
> | 201005 | | | | | 1 | | | 1 | | | | 1 | |
> | 201008 | | | | 1 | | | | | | | | | |
> | 201012 | | | | | | | | | | | | | |
> | 201105 | | | | | | 1 | | | | | | | |
> | 201108 | | | | | | | 1 | | | | | | |
> | 201112 | | | | | | | | | | 1 | | | |
> | 201205 | | | | | | | | | | | | | |
> | 201208 | | | | | | | | | | | | | |
> | 201212 | | | | | | | | | 1 | | | | |
> | 201305 | | | 1 | | | | | 2 | | | 1 | | |
> | 201308 | 1 | | | | | | | | | | | | |
> | 201312 | | | | | | | | | | | | | 1 |
> | 201405 | | | | | | | | 1 | | | | 1 | |
> | 201408 | | 1 | | | | | | | | | | | |
> | 201412 | | | | | 1 | | | | | | | | |
> | 201505 | | | | 1 | | | | | | | | | |
> | 201508 | | | | | | | | | 1 | | | | |
> | 201512 | | | | | | | 1 | | | | | | |
> | 201605 | | | | | | | | | | | | | |
> |--------+----+----+----+----+----+----+----+----+----+----+----+----+----|
> | | 8 | 5 | 9 | 3 | 4 | 15 | 1 | 6 | 2 | 13 | 9 | 6 | 7 |
Two of the possible solutions:
| Date | AA | BB | CC | DD | EE | FF | GG | HH | II | JJ | KK | LL | MM |
| / | <> | <> | <> | <> | <> | <> | <> | <> | <> | <> | <> | <> | <> |
|--------+----+----+----+----+----+----+----+----+----+----+----+----+----|
| 201005 | | | | | 1 | | | 1 | | | | 1 | |
| 201008 | | | | 1 | | | | | | | | | |
| 201012 | | | | | | | | | | | | | |
| 201105 | | | | | | 1 | | | | | | | |
| 201108 | | | | | | | 1 | | | | | | |
| 201112 | | | | | | | | | | 1 | | | |
| 201205 | | | | | | | | | | | | | |
| 201208 | | | | | | | | | | | | | |
| 201212 | | | | | | | | | 1 | | | | |
| 201305 | | | 1 | | | | | 2 | | | 1 | | |
| 201308 | 1 | | | | | | | | | | | | |
| 201312 | | | | | | | | | | | | | 1 |
| 201405 | | | | | | | | 1 | | | | 1 | |
| 201408 | | 1 | | | | | | | | | | | |
| 201412 | | | | | 1 | | | | | | | | |
| 201505 | | | | 1 | | | | | | | | | |
| 201508 | | | | | | | | | 1 | | | | |
| 201512 | | | | | | | 1 | | | | | | |
| 201605 | | | | | | | | | | | | | |
|--------+----+----+----+----+----+----+----+----+----+----+----+----+----|
| | 8 | 5 | 9 | 3 | 4 | 15 | 1 | 6 | 2 | 13 | 9 | 6 | 7 |
#+TBLFM: @>$<<..@>$> = find(rev(@I..@II), 1) - 1; E
Note that I moved the header separator line.
When the last non-empty cell is not limited to be always 1 it gets a
bit more complicated:
#+TBLFM: @>$<<..@>$> = '(position-if-not (lambda (x) (equal x ""))
(reverse '(@I..@II))); E
Michael
next prev parent reply other threads:[~2016-02-20 21:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-20 19:41 Table calculation Brett Presnell
2016-02-20 21:13 ` Michael Brand [this message]
2016-02-20 22:48 ` Brett Presnell
-- strict thread matches above, loose matches on Subject: below --
2006-12-10 19:32 Xiao-Yong Jin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CALn3zoj1GbdM7xBaccbJgTMOzvz_sywC-_9C+oxZavDnFjCB-Q@mail.gmail.com \
--to=michael.ch.brand@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=presnell@member.fsf.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).