Forum Discussion

jaryszek's avatar
jaryszek
Super User
2 years ago
Solved

Check if next row in a list is different

Hi Guys, 

 

I have a list, "A, B, C" and want to check if B <> A and C <> B (so n <> n +1). 
Result should be {"B", "C"). 

I was trying with list.Accumulate, but I failed. It is possible with List.Accumulate or I  should use another function ?

 

Thanks!
Best,
Jacek

  • For List.Accumulate

    = List.Accumulate({1..List.Count(list)-1}, {}, (s,c)=> if list{c} <> list{c-1} then s & {list{c}} else s)

4 Replies

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Most Valuable Professional

    Use this - Here list is your your list

    List.RemoveNulls(List.Generate(()=>[x=null,i=0, c= List.Count(list)], each [i]<[c], each [i=[i]+1, x=if list{i} <> list{i-1} then list{i} else null, c=[c]], each [x]))
    • jaryszek's avatar
      jaryszek
      Super User

      Thank you. 

      So List.Accumulate is not possible? 

      Best,
      Jacek

      • Vijay_A_Verma's avatar
        Vijay_A_Verma
        Most Valuable Professional

        For List.Accumulate

        = List.Accumulate({1..List.Count(list)-1}, {}, (s,c)=> if list{c} <> list{c-1} then s & {list{c}} else s)