I mean to concatenate several columns, so use of CONCATENATE
is preferred over &
(here I post an example with only 3 columns).
For instance, D1 would contain =CONCATENATE(A1:C1)
.
Then I would copy the formula down to D20 (e.g.)
col A col B col C col D
row 1 ad fg re adfgre
row 2 as we sd aswesd
...
Since the argument of CONCATENATE
can be any (sequence of) rectangular range, it seems I cannot use in D1
=ARRAYFORMULA(CONCATENATE(A1:C20))
for the same purpose, since it understands I mean to concatenate the contents of all cells in that range, and place the result in a single cell (D1).
This produces the same result as using =CONCATENATE(A1:C20)
in D1, so ARRAYFORMULA
has no effect here.
It seems that (roughly speaking) when combining functions (e.g., CONCATENATE
) whose arguments can be rectangular ranges (and actually passing rectangular range arguments) with ARRAYFORMULA
, there is an ambiguity in what one wants.
So, if using ARRAYFORMULA(CONCATENATE(range))
, one may want to use range
as an argument for a single calculation, in which case the output of ARRAYFORMULA
is a single cell, or one may want to use range
as a set of "subranges" for many calculations, in which case the output of ARRAYFORMULA
is a similar set of cells.
As per what I found, this ambiguity is resolved in favor of the first case.
How can I use ARRAYFORMULA
to instruct a function whose arguments can be rectangular ranges to actually produce a result in multiple cells, instead of applying the argument to produce a result in a single cell?