연속된 열에서 마지막으로 비어 있지 않은 여러 셀 값을 연결하는 방법

연속된 열에서 마지막으로 비어 있지 않은 여러 셀 값을 연결하는 방법

저는 Excel 수식을 사용하여 인접한 열의 비어 있지 않은 마지막 셀 값을 깔끔하게 결합하는 방법을 알고 싶습니다. 즉, 예상 값이 그림에서 녹색으로 강조 표시됩니다. 삽화

여기에 이미지 설명을 입력하세요

적용하여 한 열에서 비어 있지 않은 마지막 셀 값을 얻는 방법을 알고 있습니다.

=IFERROR(LOOKUP(2,1/(INDIRECT("A1:A"&ROW())<>""),INDIRECT("A1:A"&ROW())),"")

또한 다음을 적용하여 여러 값을 결합하는 방법도 알고 있습니다.

=TEXTJOIN("",TRUE,G4:L4)

내가 생각할 수 있는 가능한 방법은 다음과 같습니다.

  1. 소스 데이터를 2D 배열에서 1D 배열로 변환하고 배열 수식으로 반환합니다. 내 생각은 수식을 적용한 다음 비어 있지 않은 마지막 셀로 빈 셀 값을 채울 수 있다는 것입니다.

소스 수식 ={1,0,0;0,2,0;0,0,3;4,0,0;0,5,0;0,0,6} 수식 적용 후 배열 반환 ={1,0 ,0;1,2,0;1,2,3;4,0,0;4,5,0;4,5,6}

  1. 경우 배열을 사용하십시오.
  2. 열 대신 행별로 반복합니다.

그러나 나는 적절한 공식을 개발하지 못했습니다.

어떤 도움이라도 주시면 감사하겠습니다. 감사합니다.

캐릭터에 대한 솔루션은 링크에 명시되어 있습니다. 문자 케이스에 대한 솔루션

답변1

데이터가 표시된 대로 행의 4개 열 각각에 항목이 하나만 있는 경우 다음을 수행합니다.

E1: =A1
E2: =TEXTJOIN("",,IF(A2="", E1,""),A2:D2)

그리고 채워라

여기에 이미지 설명을 입력하세요

편집하다업데이트된 입력 및 출력 예제를 고려하면 다음과 같습니다.
이는 Windows Excel 2010+ 및 Excel 365(Windows 또는 Mac)에서 사용할 수 있는 파워 쿼리를 사용하여 수행할 수 있습니다.

파워 쿼리를 사용하려면

  • 데이터 테이블에서 일부 셀을 선택하십시오.
  • Data => Get&Transform => from Table/Range
  • PQ 편집기가 열리면:Home => Advanced Editor
  • 표를 기록해 두세요이름2호선에서
  • 보이는 곳에 아래 M코드를 붙여넣으세요
  • 2행의 테이블 이름을 원래 생성된 이름으로 다시 변경합니다.
  • 댓글을 읽고 Applied Steps알고리즘을 이해하기 위해 탐색해 보세요.

기본 알고리즘은 행을 채우는 것으로 구성됩니다. 열을 아래로 내린 다음 각 행의 개별 항목 목록을 반환합니다.

M코드

let

//Change next line to reflect your actual data source (table name)
    Source = Excel.CurrentWorkbook(){[Name="Table14"]}[Content],

//set the data types to text
    #"Changed Type" = Table.TransformColumnTypes(Source,
        List.Transform(Table.ColumnNames(Source), each {_, type text})),

//Fill across all rows, then down all columns
    #"Transposed Table" = Table.Transpose(#"Changed Type"),
    fillRows = Table.FillDown(#"Transposed Table", Table.ColumnNames(#"Transposed Table")),

    #"Transposed Table1" = Table.Transpose(fillRows),
    fillCols = Table.FillDown(#"Transposed Table1", Table.ColumnNames(#"Transposed Table1")),

//Results column combines the Distinct entries only in each of the four columns
    #"Added Custom" = Table.AddColumn(fillCols, "Output", 
        each Text.Combine(List.Distinct({[Column1],[Column2],[Column3],[Column4]}),""), type text),

//Remove uneeded columns
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Column1", "Column2", "Column3", "Column4"})
in
    #"Removed Columns"

여기에 이미지 설명을 입력하세요

관련 정보