Shift list elements to left by 3: Difference between revisions

→‎Excel LAMBDA: Added a variant defined in terms of MAKEARRAY
(Added XPL0 example.)
(→‎Excel LAMBDA: Added a variant defined in terms of MAKEARRAY)
Line 936:
| style="text-align:right; font-weight:bold" | 8
| style="text-align:right; font-weight:bold" | 9
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 2
| Rotated
| style="text-align:right; background-color:#cbcefb" | 4
| style="text-align:right" | 5
| style="text-align:right" | 6
| style="text-align:right" | 7
| style="text-align:right" | 8
| style="text-align:right" | 9
| style="text-align:right" | 1
| style="text-align:right" | 2
| style="text-align:right" | 3
|}
 
Or, in terms of the MAKEARRAY function:
<lang lisp>rotated
=LAMBDA(n,
LAMBDA(xs,
LET(
nCols, COLUMNS(xs),
m, MOD(n, nCols),
d, nCols - m,
MAKEARRAY(
1, nCols,
LAMBDA(
_, x,
IF(d < x,
x - d,
m + x
)
)
)
)
)
)</lang>
{{Out}}
{| class="wikitable"
|-
|||style="text-align:right; font-family:serif; font-style:italic; font-size:120%;"|fx
! colspan="10" style="text-align:left; vertical-align: bottom; font-family:Arial, Helvetica, sans-serif !important;"|=rotated(3)(B1#)
|- style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff;"
|
| A
| B
| C
| D
| E
| F
| G
| H
| I
| J
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 1
| List
| style="text-align:right" | 1
| style="text-align:right" | 2
| style="text-align:right" | 3
| style="text-align:right" | 4
| style="text-align:right" | 5
| style="text-align:right" | 6
| style="text-align:right" | 7
| style="text-align:right" | 8
| style="text-align:right" | 9
|-
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 2
9,655

edits