emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Bruno Barbier <brubar.cs@gmail.com>
To: Uwe Brauer <oub@mat.ucm.es>, emacs-orgmode@gnu.org
Subject: Re: [the cryptic @@#$7] (was: equivalent of VLOOKUP (in ods) to org-table)
Date: Sun, 08 Oct 2023 19:30:36 +0200	[thread overview]
Message-ID: <6522e73e.1c0a0220.17022.1dfd@mx.google.com> (raw)
In-Reply-To: <87v8bhgidc.fsf_-_@mat.ucm.es>

Uwe Brauer <oub@mat.ucm.es> writes:

>>>> "UB" == Uwe Brauer <oub@mat.ucm.es> writes:
>
>>>> "BB" == Bruno Barbier <brubar.cs@gmail.com> writes:
>>> Hi Uwe,
>
>>> Uwe Brauer <oub@mat.ucm.es> writes:
>>>> so the question is what is equivalent of VLOOKUP in org.
>
>>> Did you check these lookup functions in the Org manual?
>
>>> (info "(org) Lookup functions")
>
>
> I ask differently why does the following solution not work
>
> #+Name: table1
> | Name   | Ex1 | Ex2 | Ex2 | Ex4 | Ex5 | ResSh1 |
> |--------+-----+-----+-----+-----+-----+--------|
> | Smith  |   2 |   3 |   4 |   6 |   7 |     22 |
> | Miller |   2 |  10 |   1 |   1 |   5 |     19 |
> | Wick   |   1 |   2 |   3 |  10 |   2 |     18 |
> #+TBLFM: $7=vsum($2..$6);f2
>
>
>
> #+Name: final
> | Name   | Some | ResSh1       |
> |--------+------+--------------|
> | Smith  |    4 | [22, 19, 18] |
> | Miller |    4 | [22, 19, 18] |
> | Wick   |    4 | [22, 19, 18] |
> |--------+------+--------------|
> #+TBLFM: @2$3..@>$3=remote(table1,@2$7..@>$7)

The ref "remote(table1,@2$7..@>$7)" targets a range, containing all fields of
colum 7.  So, for each field, you get the same value: an array
containing all the field values: [22, 19, 19].


>
> But this solution does, what does @@#$7 mean?

See (info "(org) References"), in the section:
   "Field coordinates in formulas"

"‘@#’ is substituted with the row number of the field where the
current result will go to".


> #+Name: final2
> | Name   | Some | ResSh1 |
> |--------+------+--------|
> | Smith  |    4 |     22 |
> | Miller |    4 |     19 |
> | Wick   |    4 |     18 |
> |--------+------+--------|
> #+TBLFM: @2$3..@>$3=remote(table1,@@#$7)

With this formula, your remote reference targets the field, that is in
the same row number as the computed field in final.

Here is the same table, with some extra columns that show the
intermediate steps:

   #+Name: final2
   | Name   | Some | ResSh1 | What is '@#'? | Which ref? |
   |--------+------+--------+---------------+------------|
   | Smith  |    4 |     22 |             2 | @2$7       |
   | Miller |    4 |     19 |             3 | @3$7       |
   | Wick   |    4 |     18 |             4 | @4$7       |
   |--------+------+--------+---------------+------------|
   #+TBLFM: @2$3..@>$3=remote(table1,@@#$7)
   #+TBLFM: @2$4..@>$4=@#
   #+TBLFM: @2$5..@>$5='(concat "@" (format "%d" @#) "$" "7")

Bruno



>
>
>
> -- 
> Warning: Content may be disturbing to some audiences
> I strongly condemn Putin's war of aggression against Ukraine.
> I support to deliver weapons to Ukraine's military. 
> I support the NATO membership of Ukraine.
> I support the EU membership of Ukraine. 
> https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/


  reply	other threads:[~2023-10-08 17:31 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-08 12:58 equivalent of VLOOKUP (in ods) to org-table Uwe Brauer
2023-10-08 16:42 ` Bruno Barbier
2023-10-08 16:49   ` Uwe Brauer
2023-10-08 16:59     ` [the cryptic @@#$7] (was: equivalent of VLOOKUP (in ods) to org-table) Uwe Brauer
2023-10-08 17:30       ` Bruno Barbier [this message]
2023-10-08 17:46         ` [the cryptic @@#$7] Uwe Brauer
2023-10-11 15:01         ` Uwe Brauer
2023-10-12 13:21           ` Bruno Barbier
2023-10-12 14:40             ` Uwe Brauer
2023-10-08 17:11     ` equivalent of VLOOKUP (in ods) to org-table Bruno Barbier
2023-10-08 17:45       ` Uwe Brauer

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=6522e73e.1c0a0220.17022.1dfd@mx.google.com \
    --to=brubar.cs@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=oub@mat.ucm.es \
    /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).