엑셀 함수 질문 ...
123 | 2026-01-06 06:55:06 (1.*)
엑셀 함수 질문



엑셀 함수 질문에 관해 궁금하시군요.

엑셀에서 두 번째 시트(A 시트라고 가정)의 AF 열부터 색이 채워진 셀의 숫자를 찾고, 그 셀의 일자와 생산라인(가령, 예를 들어 D 열에 있다고 가정)을 함께 표기하려면 다음과 같이 진행할 수 있습니다.

1. 우선, 색상으로 셀을 구분하는 것은 엑셀 함수만으로는 어렵기 때문에 VBA(매크로)를 사용하는 방법이 적합합니다. VBA를 이용하여 색상 기준으로 값을 추출할 수 있습니다.

2. VBA 매크로 예제 코드:

이 코드는 두 번째 시트를 순회하며 AF 열부터 오른쪽으로 색상 셀을 찾고, 그 셀의 값, 해당 일자, 생산라인 정보를 시트 내 새로운 위치(예를 들어, 새 시트 또는 특정 셀 영역)에 기록합니다.

`vba

Sub FindColoredCells()

Dim ws As Worksheet

Dim resultWs As Worksheet

Dim lastRow As Long

Dim lastCol As Long

Dim r As Long, c As Long

Dim targetRow As Long

Set ws = ThisWorkbook.Sheets("두번째시트이름") '시트 이름을 실제 이름으로 변경

Set resultWs = ThisWorkbook.Sheets("결과") ' 결과를 기록할 시트 또는 새 시트

resultWs.Cells.Clear

' 결과 헤더

resultWs.Range("A1").Value = "일자"

resultWs.Range("B1").Value = "생산라인"

resultWs.Range("C1").Value = "숫자"

resultWs.Range("D1").Value = "열 위치"

targetRow = 2

lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 일자 범위의 마지막 행 추출

lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column ' 헤더 또는 데이터의 마지막 열 추출

For r = 2 To lastRow

For c = Range("AF1").Column To lastCol

If ws.Cells(r, c).Interior.ColorIndex <> xlNone Then

' 색상 칠해진 셀 찾았을 때 기록

resultWs.Cells(targetRow, 1).Value = ws.Cells(r, "A").Value ' 일자

resultWs.Cells(targetRow, 2).Value = ws.Cells(r, "D").Value ' 생산라인

resultWs.Cells(targetRow, 3).Value = ws.Cells(r, c).Value ' 숫자값

resultWs.Cells(targetRow, 4).Value = ws.Cells(1, c).Address(False, False) ' 열 이름 또는 위치

targetRow = targetRow + 1

End If

Next c

Next r

MsgBox "색상 셀 찾기 완료!"

End Sub

`

3. 사용 방법:

• VBA 편집기(Alt+F11) 열기

• 새 모듈 추가 후 위 코드를 붙여넣기

• 시트 이름과 결과 시트 이름을 환경에 맞게 수정

• 매크로 실행

이 방법으로 색상으로 채워진 셀의 값, 일자, 생산라인 정보를 모두 추출할 수 있습니다.

만약 VBA 사용이 어려울 경우, 색상별로 필터를 수작업으로 적용하거나 색상별로 수식을 활용하는 방법도 있지만, 일반적으로 이 경우 VBA가 가장 직관적이고 효율적입니다.