모든 셀에 다음과 같은 값이 포함된 "AP" 열이 있는 Excel 스프레드시트가 있습니다.
5358 161043 22344 8444 103145 69221044
"5358 161043 22344 8444 103145 69221044"는 모두 하나의 셀, 이 경우 AP2입니다. 엉망인 건 알지만 다른 사람에게서 물려받아 정리하려고 노력 중입니다.
6623에서 12756 사이의 숫자 범위에 있는 값을 추출하는 방법이 필요합니다. 이 범위 밖의 모든 값을 삭제하는 검색 및 바꾸기 명령을 사용하거나 문제의 값을 다른 열에 복사하는 함수를 사용하면 됩니다.
답변1
나는 몇 가지 더미 데이터를 만들어 시트의 A열에 넣었습니다. B열에서는 다음 수식을 사용했습니다.
=IF(AND(A1>=$L$35,A1<=$L$36),"Yes","No")
이는 대상 범위의 값에 대해 "예"를 반환하는 간단한 필터입니다(셀 L35 및 L36에 해당 값을 추가했습니다).
다음으로 해당 두 열을 선택하고 필터를 켭니다.
이제 홈 탭에서 편집 리본으로 이동하여 "찾기 및 선택"을 선택하세요. "특별 항목으로 이동..."이라는 옵션을 선택하세요.
Visible Cells Only라는 옵션을 선택하고 확인을 누릅니다.
복사를 누르거나 CTRL-C를 사용하십시오. 원하는 데이터가 있는 행만 선택해야 합니다.
이제 빈 시트에 붙여넣으면 원하는 기간에 해당하는 데이터만 붙여넣게 됩니다. 참고: 제 예에서는 헤더용으로 행 1을 비워두지 않았기 때문에 필터를 적용했을 때 "아니요"가 하나 남았습니다. 낙오자를 삭제하거나 그런 일이 발생하지 않도록 시작 부분에 빈 행을 남겨 둘 수 있습니다.
답변2
먼저 표준 모듈에 다음 사용자 정의 함수를 입력하십시오.
Public Function GrabData(r As Range) As String
Dim cel As Range, v As String, a, d As Double
GrabData = ""
For Each cel In r
v = cel.Text
arr = Split(v, " ")
For Each a In arr
If IsNumeric(a) Then
d = CDbl(a)
If d > 6622 And d < 12757 Then GrabData = GrabData & " " & a
End If
Next a
Next cel
End Function
그런 다음 데이터가 있으면AP1~을 통해AP3, 다른 셀을 선택하고 다음을 입력합니다.
=GrabData(AP1:AP3)
예를 들어:
보시다시피 값은공간 분리입력과 마찬가지로 문자열입니다.