엑셀에서 범위를 만들고 싶어요

엑셀에서 범위를 만들고 싶어요

다음과 같은 셀이 있습니다.

    Number  Band    Color
1   10    A          A1
2   20    A          A1
3   30    A          A1
4   40    B          A1
5   50    B          A2
6   60    C          B1
7   70    C          B1
8   80    A          B1
9   90    A          A1
10  100   B          A1

다음과 같이 데이터의 "범위"/요약을 만들고 싶습니다.

Start  End  Band    Color
10     30   A        A1
40     40   B        A1
50     50   B        A2
60     70   C        B1

손으로 할 수도 있지만 데이터가 수천 개의 셀에 있으므로 지루해 보입니다. 이를 용이하게 하는 데 도움이 되는 기능이 내장되어 있습니까?

답변1

두 개의 Helper 열을 사용하여 이 작업을 수행할 수 있습니다. D2와 E2에 각각 다음 공식을 넣었습니다.

=IF(OR(B2<>B1,C2<>C1),A2,"")
=IF(OR(B2<>B3,C2<>C3),A2,"")

그런 다음 데이터 세트의 길이를 복사했습니다.

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

이를 통해 SMALL() 공식을 사용하여 시작 및 종료를 얻을 수 있는 목록이 제공되었습니다.

G2에는 다음을 넣었습니다.

=IFERROR(SMALL(D:D,ROW(1:1)),"")

그런 다음 빈 셀이 생길 때까지 한 열을 복사했습니다.

그런 다음 INDEX/MATCH에서 해당 숫자를 사용하여 다른 정보를 반환합니다.

I2에는 다음을 넣었습니다.

=IF($G2<>"",INDEX(B:B,MATCH($G2,$A:$A,0)),"")

공백이 생길 때까지 한 열에 걸쳐 복사했습니다.

VLOOKUP을 사용하여 동일한 작업을 수행할 수도 있습니다.

=VLOOKUP($G2,$A:$C,COLUMN(B:B),FALSE)

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

답변2

귀하의 질문에 사용하려는 패턴과 도구에 대해 좀 더 설명할 수 있습니다. "함수"라고 말하면 VBA 코드가 아닌 시트 수식을 원한다고 가정하겠습니다. 각 밴드/색상 쌍의 첫 번째 인스턴스만 보고 있습니까? 아니면 연속적으로 일치하는 밴드 및 색상 세트를 아래로 찾고 있습니까? 후자의 경우 테이블에는 실제로 다음과 같이 세 개의 행이 더 포함됩니다.

Start  End  Band    Color
10     30   A        A1
40     40   B        A1
50     50   B        A2
60     70   C        B1
80     80   A        B1
90     90   A        A1
100    100  B        A1

이 더 긴 테이블을 원할 경우 두 개의 새 행(이 시트 또는 새 행)을 생성하고 A1에 "숫자"가 있다고 가정하고 다음 코드를 사용할 수 있습니다.

셀 D2=IF(NOT(AND($B1=$B2,$C1=$C2)),IFERROR(MAX(INDIRECT("D1:D"&ROW(D2)-1))+1,1),0)

셀 E2=IF(NOT(AND($B2=$B3,$C2=$C3)),IFERROR(MAX(INDIRECT("E1:E"&ROW(E2)-1))+1,1),0)

코드를 테이블의 전체 열 길이 아래로 확장하세요. 결과는 다음과 같습니다.

Number Band Color Start End
10     A    A1    1     0
20     A    A1    0     0
30     A    A1    0     1
40     B    A1    2     2
50     B    A2    3     3
60     C    B1    4     0
70     C    B1    0     4
80     A    B1    5     5
90     A    A1    6     6
100    B    A1    7     7

여기에서 각 세트(1,2,3,...)의 번호를 조회하고 행 번호를 찾아 원하는 정보를 얻으세요. 시작/끝 열을 먼저 배치하면 vlookup이를 사용할 수 있습니다.

각 쌍의 첫 번째 모양만 원하는 경우(그런데 왜 행 8이 제외됩니까?) 조금 더 많은 논리가 필요합니다. 여기에는 추가 열이 필요할 수 있지만 추가 논리는 매우 간단합니다.

관련 정보