- 질문 게시판입니다.
Date | 19/04/19 16:41:45 |
Name | 한달살이 |
File #1 | 엑셀질문1.png (5.8 KB), Download : 6 |
Subject | [엑셀] 셀 값을 자동 나열하는 수식을 만들고 싶습니다. |
안녕하세요. 한달살이 입니다. 스샷과 같이 여러 DATA 가 있는 엑셀 시트를 채우고서 노란색 셀처럼 DATA를 단순 나열하고 싶습니다. 1. 값이 0이 아닌 셀의 지정된 이름을 나열 2. 값이 0이 아닌 셀의 정해진 숫자와 규칙성 있게 나열 행 A, B, C, 등이 30개 정도 열 101, 102 등이 백여개 정도라서 엑셀로 만들고 싶어요. 단순작업 ㅠㅠ 중간에 0 이라는 숫자가 들어가면 그 DATA는 무시하고 싶은게 포인트입니다. 또, 셀에 0 의 숫자. 그러니까, 아무값도 안넣으면 0.00 이라고 된 숫자를 안보이게 하고 싶어요. 도와주세요. 0
|
배열 수식을 사용하면 될 것 같습니다.
~{=CONCATENATE(IF(C2:J2=0,"",SUBSTITUTE(ADDRESS(1,COLUMN(C2:J2),4),1,"")&" "))}
~{=CONCATENATE(IF(C2:J2=0,"",$C$1:$J$1&" "&C2:J2&" "))}
중괄호는 직접 타이핑하는 것이 아니고, 수식을 입력 후 컨트롤+쉬프트+엔터로 입력하시면 중괄호가 생깁니다.
... 더 보기
~{=CONCATENATE(IF(C2:J2=0,"",SUBSTITUTE(ADDRESS(1,COLUMN(C2:J2),4),1,"")&" "))}
~{=CONCATENATE(IF(C2:J2=0,"",$C$1:$J$1&" "&C2:J2&" "))}
중괄호는 직접 타이핑하는 것이 아니고, 수식을 입력 후 컨트롤+쉬프트+엔터로 입력하시면 중괄호가 생깁니다.
... 더 보기
배열 수식을 사용하면 될 것 같습니다.
~{=CONCATENATE(IF(C2:J2=0,"",SUBSTITUTE(ADDRESS(1,COLUMN(C2:J2),4),1,"")&" "))}
~{=CONCATENATE(IF(C2:J2=0,"",$C$1:$J$1&" "&C2:J2&" "))}
중괄호는 직접 타이핑하는 것이 아니고, 수식을 입력 후 컨트롤+쉬프트+엔터로 입력하시면 중괄호가 생깁니다.
https://docs.google.com/spreadsheets/d/1qX55ZQPvIjNijkvYGrSaMXhe3Un2V9oeqjZ7hcNVWsQ/edit?usp=sharing
지금 쓰는 컴퓨터에 엑셀이 없어서, 엑셀에도 될 지 잘 모르겠습니다.
0 숨기기는 0 값 표시 또는 숨기기 문서를 참고하시면 될 듯합니다.
https://support.office.com/ko-kr/article/0-%EA%B0%92-%ED%91%9C%EC%8B%9C-%EB%98%90%EB%8A%94-%EC%88%A8%EA%B8%B0%EA%B8%B0-3ec7a433-46b8-4516-8085-a00e9e476b03
* 열 문자를 공백으로 처리했는데, 덧셈 기호여야 한다면 찾기/바꾸기에서 공백(스페이스바)를 +로 바꾸실 수 있습니다.
* 엑셀 2010에서는 안 되는 걸 확인했습니다. 구글 스프레드시트랑 작동하는 방식이 조금 달라서인지는 몰라도 원하는 결과가 안 나오네요.
달리 방법이 없다면 구글 스프레드시트에 데이터를 복사하셔서 수식 결과값만 얻어낸 뒤 다시 옮기실 수도 있겠습니다.
~{=CONCATENATE(IF(C2:J2=0,"",SUBSTITUTE(ADDRESS(1,COLUMN(C2:J2),4),1,"")&" "))}
~{=CONCATENATE(IF(C2:J2=0,"",$C$1:$J$1&" "&C2:J2&" "))}
중괄호는 직접 타이핑하는 것이 아니고, 수식을 입력 후 컨트롤+쉬프트+엔터로 입력하시면 중괄호가 생깁니다.
https://docs.google.com/spreadsheets/d/1qX55ZQPvIjNijkvYGrSaMXhe3Un2V9oeqjZ7hcNVWsQ/edit?usp=sharing
지금 쓰는 컴퓨터에 엑셀이 없어서, 엑셀에도 될 지 잘 모르겠습니다.
0 숨기기는 0 값 표시 또는 숨기기 문서를 참고하시면 될 듯합니다.
https://support.office.com/ko-kr/article/0-%EA%B0%92-%ED%91%9C%EC%8B%9C-%EB%98%90%EB%8A%94-%EC%88%A8%EA%B8%B0%EA%B8%B0-3ec7a433-46b8-4516-8085-a00e9e476b03
* 열 문자를 공백으로 처리했는데, 덧셈 기호여야 한다면 찾기/바꾸기에서 공백(스페이스바)를 +로 바꾸실 수 있습니다.
* 엑셀 2010에서는 안 되는 걸 확인했습니다. 구글 스프레드시트랑 작동하는 방식이 조금 달라서인지는 몰라도 원하는 결과가 안 나오네요.
달리 방법이 없다면 구글 스프레드시트에 데이터를 복사하셔서 수식 결과값만 얻어낸 뒤 다시 옮기실 수도 있겠습니다.
VBA를 사용해도 되나요?
첨부된 예시를 예로 설명해보겠습니다.
새로운 워크시트를 여시고 위 사진대로 데이터를 입력해보세요.
A4셀에 101 이 위치하고 D1셀에 A가 위치한다고 해보죠. 그럼 1.00등의 데이터는 D4부터 출발하겠죠?
노란색 부분을 작성하고자 하는 것이니 Alt+F11을 누르시고 삽입 -> 모듈 을 누르시면 하얀색 도화지처럼 입력창이 생깁니다.
이때 아래의 코드를 복사해서 붙이신 후 F5키를 눌러보세요. 실전에서는 이를 응용하시면 해결되지 않을까 싶습니다.
Sub 데이터정리()
... 더 보기
첨부된 예시를 예로 설명해보겠습니다.
새로운 워크시트를 여시고 위 사진대로 데이터를 입력해보세요.
A4셀에 101 이 위치하고 D1셀에 A가 위치한다고 해보죠. 그럼 1.00등의 데이터는 D4부터 출발하겠죠?
노란색 부분을 작성하고자 하는 것이니 Alt+F11을 누르시고 삽입 -> 모듈 을 누르시면 하얀색 도화지처럼 입력창이 생깁니다.
이때 아래의 코드를 복사해서 붙이신 후 F5키를 눌러보세요. 실전에서는 이를 응용하시면 해결되지 않을까 싶습니다.
Sub 데이터정리()
... 더 보기
VBA를 사용해도 되나요?
첨부된 예시를 예로 설명해보겠습니다.
새로운 워크시트를 여시고 위 사진대로 데이터를 입력해보세요.
A4셀에 101 이 위치하고 D1셀에 A가 위치한다고 해보죠. 그럼 1.00등의 데이터는 D4부터 출발하겠죠?
노란색 부분을 작성하고자 하는 것이니 Alt+F11을 누르시고 삽입 -> 모듈 을 누르시면 하얀색 도화지처럼 입력창이 생깁니다.
이때 아래의 코드를 복사해서 붙이신 후 F5키를 눌러보세요. 실전에서는 이를 응용하시면 해결되지 않을까 싶습니다.
Sub 데이터정리()
Dim 행개수 As Integer, 열개수 As Integer
Dim i As Integer, j As Integer
Dim 데이터범위 As Range
Dim 셀값1 As Variant, 셀값2 As Variant
'입력된 데이터 범위를 지정
Set 데이터범위 = Range("D4").CurrentRegion
'입력된 데이터의 행 개수
행개수 = 데이터범위.Rows.Count
'입력된 데이터의 열 개수
열개수 = 데이터범위.Columns.Count
'B열의 데이터 작성
For i = 1 To 행개수
셀값1 = ""
For j = 1 To 열개수
If Cells(i + 3, j + 3) <> 0 Then
셀값1 = 셀값1 & Cells(1, j + 3) & "+"
End If
Next
On Error Resume Next
Cells(i + 3, 2) = Left(셀값1, Len(셀값1) - 1)
Next
'C열의 데이터 작성
For i = 1 To 행개수
셀값2 = ""
For j = 1 To 열개수
If Cells(i + 3, j + 3) <> 0 Then
셀값2 = 셀값2 & Cells(2, j + 3) & " " & Cells(i + 3, j + 3) & " "
End If
Next
Cells(i + 3, 3) = 셀값2
Next
End Sub
첨부된 예시를 예로 설명해보겠습니다.
새로운 워크시트를 여시고 위 사진대로 데이터를 입력해보세요.
A4셀에 101 이 위치하고 D1셀에 A가 위치한다고 해보죠. 그럼 1.00등의 데이터는 D4부터 출발하겠죠?
노란색 부분을 작성하고자 하는 것이니 Alt+F11을 누르시고 삽입 -> 모듈 을 누르시면 하얀색 도화지처럼 입력창이 생깁니다.
이때 아래의 코드를 복사해서 붙이신 후 F5키를 눌러보세요. 실전에서는 이를 응용하시면 해결되지 않을까 싶습니다.
Sub 데이터정리()
Dim 행개수 As Integer, 열개수 As Integer
Dim i As Integer, j As Integer
Dim 데이터범위 As Range
Dim 셀값1 As Variant, 셀값2 As Variant
'입력된 데이터 범위를 지정
Set 데이터범위 = Range("D4").CurrentRegion
'입력된 데이터의 행 개수
행개수 = 데이터범위.Rows.Count
'입력된 데이터의 열 개수
열개수 = 데이터범위.Columns.Count
'B열의 데이터 작성
For i = 1 To 행개수
셀값1 = ""
For j = 1 To 열개수
If Cells(i + 3, j + 3) <> 0 Then
셀값1 = 셀값1 & Cells(1, j + 3) & "+"
End If
Next
On Error Resume Next
Cells(i + 3, 2) = Left(셀값1, Len(셀값1) - 1)
Next
'C열의 데이터 작성
For i = 1 To 행개수
셀값2 = ""
For j = 1 To 열개수
If Cells(i + 3, j + 3) <> 0 Then
셀값2 = 셀값2 & Cells(2, j + 3) & " " & Cells(i + 3, j + 3) & " "
End If
Next
Cells(i + 3, 3) = 셀값2
Next
End Sub
목록 |
|