목록을 일정 간격으로 분할하여 목록 목록으로 만듭니다.

2019/4/22 추가
List.Split 함수가 있습니다.
확인한 결과 Excel2010의 추가 기능 버전도 사용할 수있었습니다.
시끄 럽습니다.

공식 참조: List.Split()
htps : // / cs. 미 c 로소 ft. 코 m / 엔-gb / 푸 r 쿠 ry m / st-sp ぃ t

목록 함수 그룹은이 문제를 직접 해결하는 함수를 찾지 못했습니다. 마침내 Table.Partition ()의 차례입니다.

하고 싶은 일



아래와 같은 상태로 분할하고 싶다.

원래 목록(규칙적 필요 없음)


분할 후 목록


직접 변환 할 수있는 함수는 ...


  • List.Alternate () : 목록을 곳곳에서 건너 뛸 수 있기 때문에 목록 목록이 아닙니다.
  • List.Generate () : 몇 주를 연결해도 두 계층의 목록 목록이되지 않습니다. 즉,

  •     {{목록 1개째, 리스트 2개째}, 리스트 3개째}

    라는 상태에 계층이 깊어져 버린다.
  • List.Range() : 1그룹마다 쓰면 실현할 수 있지만, 분할수가 많으면 번거롭다.
  • List.Zip():기대했지만, 안 된다. 존재 이유 자체가 불명.

  • 코드



    목록 분할
    let
        //適当なリスト.中身は何でもよいです.
        ソース = List.Generate(()=>0,each _<205,each _+2),
        //任意.
        分割する1単位 =15,
    
        テーブルに変換 = Table.FromList(ソース, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        インデックス列を追加 = Table.AddIndexColumn(テーブルに変換, "インデックス", 0, 1),
        テーブルのリストに変換 = Table.Partition(インデックス列を追加,"インデックス",
                                               Number.IntegerDivide(Table.RowCount(インデックス列を追加),分割する1単位)+1,
                                               each Number.IntegerDivide(_,分割する1単位)
                               ),
        各要素をリストに変換 = List.Transform(テーブルのリストに変換,each _[Column1])
    in
        各要素をリストに変換
    
    

    다소 해설



    테이블로 변환 한 후 분할 기준으로 인덱스 열을 넣고이를 기준으로 Table.Partition ()에서 테이블 목록으로 만듭니다.
    그런 다음 목록의 각 요소 (즉, 각 분할 된 테이블)에 대해 List.Transform ()을 사용하여 원래 열 (Column1)을 추출합니다.
    ※리스트를 테이블화하면, 그 열명은 디폴트로 「Column1」이 됩니다.

    링크 등



    공식 참조: Table.Partition()
    htps : // / cs. 미 c 로소 ft. 코 m / 엔 - s / 포 r 쿠 ry m / 타 b ぇ 파 r 치치 온
    공식 참조: List.Transform()
    htps : // / cs. 미 c 로소 ft. 코 m / 엔 - s / 포 r 쿠 ry m / st t ran s fu rm

    좋은 웹페이지 즐겨찾기