어떤 값을 계산하여 분수로 나타냈을때, 그 분수의 분자와 분모를 빼내는 방법을 자동화한 것이다.
두 가지 방법 중에서 잘 되는 것을 사용하시오.
구글 스프레드시트에서는 방법2가 계산식이어도 가능한데, 엑셀2021에서는 계산식일때는 방법1만 가능하다.
- 분수식은 표시형식을 변경하여 분수에서 적당한 것을 고르거나, 원하는 표시를 직접 한다.
- 예제는 (최대 3자리수) / (최대 3자리수) 로 표현하였다.
- 가분수 형식을 쓸거면 충분한 개수의 # 으로 표현해주는게 좋다.
<<<복사용 예시>>>
소수 형식으로 저장된 상태(계산식으로 입력시) |
=2/3 |
=LEFT(TEXT(분수셀,"###/###"),SEARCH("/",TEXT(분수셀 ,"###/###"))-1) |
=MID(TEXT( 분수셀 ,"###/###"),SEARCH("/",TEXT( 분수셀 ,"###/###"))+1,3) |
텍스트 형식으로 저장된 상태 |
'2/3 |
=TRIM(LEFT(SUBSTITUTE( 분수셀 ,"/",REPT(" ",100)),100)) |
=TRIM(right(SUBSTITUTE( 분수셀 ,"/",REPT(" ",100)),100)) |
<< 해설 >>
gpt한테 물어서 맞는지만 검토했다.
방법1
📌 분자 추출 수식의 동작 과정
1️⃣ TEXT(분수셀 ,"###/###")
- 분수셀 에 저장된 값을 "###/###" 형식(분수)으로 변환
2️⃣ SEARCH("/", TEXT(분수셀 , "###/###"))
- TEXT(분수셀 , "###/###")의 결과에서 "/"(슬래시)의 위치를 찾음.
- 예제인 "2/3" 에서 /는 2번째 문자므로 2가 반환된다.
3️⃣ LEFT(TEXT(분수셀 ,"###/###"), SEARCH("/", TEXT(분수셀 ,"###/###")) - 1)
- SEARCH("/", TEXT(분수셀 ,"###/###")) - 1 → 슬래시 직전까지의 길이를 계산함.
- LEFT(문자열, 길이)를 사용해서 문자열의 왼쪽 부분(=분자)을 추출.
- 예제인 "2/3" 에서 LEFT("2/3", 2-1) → 분모인 2를 반환.
📌 분모 추출 수식의 동작 과정
1️⃣ TEXT(분수셀 ,"###/###") --- 생략
2️⃣ SEARCH("/", TEXT(분수셀 , "###/###")) --- 생략
3️⃣ MID(TEXT(분수셀, "###/###"), SEARCH("/", TEXT(C2,"###/###"))+1, 3)
- SEARCH("/", TEXT(분수셀 ,"###/###")) + 1
→ / 다음 글자의 위치를 계산함. - MID(문자열, 시작 위치, 길이)를 사용해서 분모 영역에 해당하는 내용을 추출.
이때 길이는 자신이 설정한 분모 길이와 같게 한다. - "2/3"에서 MID("2/3", 2+1, 3)
왼쪽에서 3번째(2+1) 글자부터 시작하여 3개 글자(3)을 반환
→ "3"을 반환.
방법2
숨은 전제: 불러오는 값이 숫자(소수 float)가 아니라 문자열(char)로 되어 있어야 한다. 예를들면,
📌 추출 수식의 동작 과정
1️⃣ SUBSTITUTE(분수셀 , "/", REPT(" ", 100))
- 분수셀 의 값에서 / 기호를 공백 100개로 대체한다.
- "2/3" 이 "3" + (공백 100개) + "3" 으로 반환된다.
2️⃣ LEFT(..., 100) --- 분자
- 앞에서 변환된 문자열에서 왼쪽에서부터 100개 문자를 가져온다.
- /이 있던 자리에 공백이 100개 삽입되었으므로, 분모(두 번째 숫자)는 공백 뒤쪽에 밀려 있음.
- 따라서, LEFT는 분자 부분만 포함된 문자열을 가져오게 됨
2️⃣ RIGHT (..., 100) --- 분모
- 앞에서 변환된 문자열에서 왼쪽에서부터 또는 오른쪽에서부터 100개 문자를 가져온다.
- /이 있던 자리에 공백이 100개 삽입되었으므로, 분자(첫 번째 숫자)는 공백 앞쪽에 밀려 있음.
- 따라서, RIGHT는 분모 부분만 포함된 문자열을 가져오게 됨
TRIM(...)
- TRIM 함수는 문자열 앞뒤의 불필요한 공백을 제거한다.
- 따라서, 해당하는 숫자 부분만 남게 됨.
출처 보고 내가 따라해 보았다.
'Windows > 엑셀(MS excel)' 카테고리의 다른 글
엑셀로 어떤 수를 a루트b 꼴로 나타내는 과정 만들기 (0) | 2025.04.01 |
---|---|
엑셀 한국어 어절의 마지막 음절 확인하여 조사 자동생성. (0) | 2025.03.31 |
엑셀의 특정 셀에 일본어(히라가나, 가타카나) 글자가 있는지 검색하는 시트 (0) | 2023.09.13 |
엑셀 2021로 히스토그램과 도수분포다각형 동시에 만들기 (0) | 2023.09.13 |
엑셀 검색(Ctrl + F)으로 특수문자 물결표, 물음표, 별표(~, ?, *) 등을 찾기 (0) | 2023.09.13 |