![MS Excel 2016 - 열 문자 빼기](https://rvso.com/image/1615272/MS%20Excel%202016%20-%20%EC%97%B4%20%EB%AC%B8%EC%9E%90%20%EB%B9%BC%EA%B8%B0.png)
아래 셀 A1에 현재 수식이 있는데 여기서 열 문자를 새 셀 B1에 빼거나 빼야 합니다. 나는 이 게시물을 읽었지만 작업을 수행할 수 없습니다. Excel에서 열 문자를 더하거나 빼거나 늘리는 방법은 무엇입니까?
예를 들어 열 B 값을 생성하려면 수식이나 매크로가 필요합니다. 열 A와 동일하지만 열 문자 하나를 빼거나 뺍니다.
Column A | Column B
=+Jan!$V$36 | =+Jan!$U$36
=+Jan!$AD$36 | =+Jan!$AC$36
=+Jan!$AH$36 | =+Jan!$AG$36
답변1
귀하의 수식 +
에는 불필요하며 필요하지 않습니다.
다음은 변경된 수식을 인접한 열에 배치하는 UDF입니다.
가정:
- 단일 셀 참조만으로 표시하므로 수식이 간단합니다.
- 셀 참조는 항상 수식의 끝 부분에 있습니다.
- 셀 참조는 항상 절대 주소 지정 모드를 사용합니다.
- 일을 더 간단하게 만들기 위해
- VBA에서는 R1C1 표기법을 사용합니다.
- 문자열의 끝에서부터 역순으로 검색합니다.
C
- 이를 통해
1
수정된 수식을 얻기 위해 빼는 열 번호가 제공됩니다.
이는 게시된 데이터가 실제 데이터와 일치하지 않는 경우 변경할 수 있는 충분한 정보를 제공합니다.
*워크시트에 다시 쓰면 A1
표기법으로 다시 변환됩니다.
Option Explicit
Sub prevCol()
Dim R As Range, C As Range
Dim WS As Worksheet
Dim sForm As String
Dim lColPos As Long, lColNum As Long
Set WS = Worksheets("sheet3") 'or wherever you have the formulas
With WS
Set R = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
For Each C In R
If C.HasFormula Then
sForm = C.FormulaR1C1
'assuming column number is at the end
lColPos = InStrRev(sForm, "C")
lColNum = Mid(sForm, lColPos + 1, 9)
C.Offset(0, 1).FormulaR1C1 = Left(sForm, lColPos) & lColNum - 1
End If
Next C
End Sub