How to make an Excel Array Spill when referencing another Array

Поділитися
Вставка
  • Опубліковано 22 жов 2024

КОМЕНТАРІ • 32

  • @IvanCortinas_ES
    @IvanCortinas_ES 4 місяці тому +3

    Excellent technique Wyn!! Thank you.

  • @ClaudioCP
    @ClaudioCP 4 місяці тому +1

    I really enjoyed this technique to "force" the spill using the Reduce function along with the Lambda inside. Excellent job Wyn! In addition to learning a lot from your videos I also admire your enthusiasm and cool Aussie accent to boot!

  • @yvesvanderzeypen272
    @yvesvanderzeypen272 4 місяці тому +1

    Your tip is fantastic. Thank you and well done.

  • @kebincui
    @kebincui 4 місяці тому +1

    Awesome, as always. Thanks Wyn

  • @zzota
    @zzota 4 місяці тому +1

    That's really useful, thanks Wyn.

  • @ΕλευθέριοςΠάντος
    @ΕλευθέριοςΠάντος 4 місяці тому +1

    Great! Thank you!

  • @700997372mp
    @700997372mp 4 місяці тому +2

    great video, you could do away with using drop and actually reference the table heading in the function too, just a thought
    =
    REDUCE(
    TRANSPOSE(TableHeadings[Headings]),
    I3#,
    LAMBDA(_prev,_each,
    VSTACK(
    _prev,
    CHOOSECOLS(
    TEXTSPLIT(_each, " "),
    2,
    3
    )
    )
    )
    )

    • @AccessAnalytic
      @AccessAnalytic  4 місяці тому +2

      Nice, or
      =REDUCE({"ID","Colour"},E4#,LAMBDA(_Previous,_Each, VSTACK(_Previous, CHOOSECOLS(TEXTSPLIT(_Each," "),2,4))))

  • @iankr
    @iankr 4 місяці тому +1

    Many thanks, Wyn. I'm just slightly confused about the workings of the LAMBDA function. Where are you defining what _previous and _each represent? Are they taken to be the first two arguments of the LAMBDA itself (i.e. the "" and the E4#)?

    • @AccessAnalytic
      @AccessAnalytic  4 місяці тому +3

      Yes the initial value “” is picked up by the LAMBDA _previous and then the _each is the current value of the array E4#
      support.microsoft.com/en-us/office/reduce-function-42e39910-b345-45f3-84b8-0642b568b7cb

    • @iankr
      @iankr 4 місяці тому +1

      @@AccessAnalytic Many thanks, Wyn.

  • @tranvinhthinh8825
    @tranvinhthinh8825 4 місяці тому +1

    Great!!!❤

  • @stevereed5776
    @stevereed5776 4 місяці тому +1

    It would also be handy if Microsoft allowed you to use MAP or BYROW

    • @AccessAnalytic
      @AccessAnalytic  4 місяці тому

      I’ve not looked into MAP but it seems array of arrays is a big engineering challenge

  • @rubenmunozverdu7528
    @rubenmunozverdu7528 4 місяці тому

    My doubt is the usual about scan/reduce. Reduce returns usually last element of array and scan returns the whole array. So maybe if you use scan instead of reduce you wouldn't need to vstack?

    • @AccessAnalytic
      @AccessAnalytic  4 місяці тому

      I’ve not seen anyone doing this with SCAN

  • @barttitulaerexcelbart9400
    @barttitulaerexcelbart9400 4 місяці тому +1

    Wyn, this is a very handy function. As MVP: how difficult is it for Microsoft to add this to their in build functions library? I had rather prefer this than this silly "PERCENTAGE"....😉

    • @AccessAnalytic
      @AccessAnalytic  4 місяці тому

      It appears to be highly complex to allow arrays of arrays but they are aware and maybe one day it will be possible to work natively.

  • @tamersalem7542
    @tamersalem7542 4 місяці тому

    =LET(o,FILTER(B3:B6,C3:C6=D2),
    p,DROP(REDUCE("",o,LAMBDA(k,x,VSTACK(k,CHOOSECOLS(TEXTSPLIT(x," "),2,4)))),1),HSTACK(p))

    • @AccessAnalytic
      @AccessAnalytic  4 місяці тому

      What's the purpose of the HSTACK?

    • @tamersalem7542
      @tamersalem7542 4 місяці тому

      @@AccessAnalytic First, thank you for your interest and kind response. The purpose is to merge the two equations together. Is there an alternative solution available for that?

    • @AccessAnalytic
      @AccessAnalytic  4 місяці тому +1

      @@tamersalem7542 - which equations is it merging? Leaving it out achieves the same result

    • @tamersalem7542
      @tamersalem7542 4 місяці тому

      @@AccessAnalytic Combine the equations that were used in your example together to give the result once after working twice