내 질문 양식 중 하나에 대한 답변인 일부 데이터가 있습니다.
일부 질문에는 여러 답변이 있을 수 있습니다. 예를 들어:
당신의 취미는 무엇입니까?
- 여행
- 촬영 중
- 스포츠
- 댄스
각 답변에는 고유한 번호가 있습니다(위에 표시된 대로).
즉 1개는 여행용, 2개는 촬영용 등입니다.
일부 셀에는 여러 답변이 있습니다.
예: A3 셀에는 내부에 1,3,4가 있습니다. 숫자는 쉼표로 구분됩니다.
다른 Excel 시트에는 숫자가 아닌 이름(단어)으로 표시되는 답변이 포함된 표를 작성하고 있습니다. 단일 답변을 사용하면 함수 IF로 쉽게 만들 수 있습니다.
IF(A1=1,"Traveling",IF(A1=2,"Filming",IF(A1=3,"Sport",IF(A1=4,"Dancing","Error"))))
그러나 답변이 여러 개인 경우 문제가 있습니다. 셀 A3에는 여행(1), 스포츠(3) 및 춤(4)의 3가지 답변이 있음을 Excel에서 이해할 수 있도록 숫자를 구분하는 방법은 무엇입니까?
답변1
1,3,4
다음은 셀에 문자열을 포함하는 간단한 솔루션입니다.A1필요에 따라 다음 수식은 를 반환합니다 Travelling,Sport,Dancing
.
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,1,"Travelling"),2,"Filming"),3,"Sport"),4,"Dancing")
참고: 이 방법은 SUBSTITUTE
최대 9번까지 반복할 수 있습니다. 하지만 이 방법은 다소 읽을 수 없게 되므로 권장하지 않습니다.
답변2
사용해 보세요찾다IF(SEARCH("1",A1),"Traveling")
대신에 좋아요 IF(A1=1,"Traveling")
등 (예 IF(SEARCH("3",A1),"Sport")
: )
답변3
다음을 시도해 보세요사용자 정의 함수(UDF):
Public Function MultiReturns(sIN As String) As String
Dim i As Long
nums = Array("1", "2", "3", "4")
lets = Array("Traveling", "Filming", "Sport", "Dancing")
MultiReturns = ""
If sIN = "" Then Exit Function
ary = Split(Replace(sIN, " ", ""), ",")
For Each a In ary
For i = LBound(nums) To UBound(nums)
If a = nums(i) Then MultiReturns = MultiReturns & "," & lets(i)
Next i
Next a
MultiReturns = Mid(MultiReturns, 2)
End Function
사용자 정의 함수(UDF)는 설치 및 사용이 매우 쉽습니다.
- ALT-F11은 VBE 창을 불러옵니다
- ALT-I ALT-M은 새로운 모듈을 엽니다
- 내용을 붙여넣고 VBE 창을 닫습니다.
통합 문서를 저장하면 UDF도 함께 저장됩니다. 2003 이후 버전의 Excel을 사용하는 경우 파일을 다음 형식으로 저장해야 합니다..xlsm오히려.xlsx.
UDF를 제거하려면:
- 위와 같이 VBE 창을 불러옵니다
- 코드를 지워라
- VBE 창을 닫습니다
Excel에서 UDF를 사용하려면:
=MultiReturns(A1)
일반적인 매크로에 대해 자세히 알아보려면 다음을 참조하세요.
http://www.mvps.org/dmcritchie/excel/getstarted.htm
그리고
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
UDF에 대한 자세한 내용은 다음을 참조하세요.
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
이 작업을 수행하려면 매크로를 활성화해야 합니다!