셀에 데이터가 있습니다.
좋은 응답 -6, RNR -2, 음성 없음 -1
셀의 숫자 만 합쳐야합니다. 단일 수식으로 어떻게 할 수 있습니까?
셀에 데이터가 있습니다.
좋은 응답 -6, RNR -2, 음성 없음 -1
셀의 숫자 만 합쳐야합니다. 단일 수식으로 어떻게 할 수 있습니까?
답변:
Excel을 사용합니다. RegEx 찾기 / 바꾸기 추가 기능 , Excel에 정규 표현식 기능을 추가합니다.
(나는 그 어떤 방식 으로든 그 추가 기능과 관련이 없으며 열광적 인 사용자이다)
여기에서 이와 같은 수식을 사용하여 모든 숫자를 찾아서 합칠 수 있습니다.
=SUM(RegExFind(A1,"\d+"))
또는 음수 값도 고려하십시오.
=SUM(RegExFind(A1,"[-\d]+"))
제공된 정보를 바탕으로 & amp; 추출 할 값이 3 개인 경우와 길이가 1 자리 인 경우, 아래의 문자열은 다음과 같습니다. A2 :
=LEFT(SUMPRODUCT(MID(0&A2,LARGE(INDEX(ISNUMBER(--MID(A2,ROW($1:$25),1))* ROW($1:$25),0),ROW($1:$25))+1,1)*10^ROW($1:$25)/10),1)+RIGHT(SUMPRODUCT(MID(0&A2,LARGE(INDEX(ISNUMBER(--MID(A2,ROW($1:$25),1))* ROW($1:$25),0),ROW($1:$25))+1,1)*10^ROW($1:$25)/10),1)+RIGHT(A2,1)
물론 여기에 몇 가지 가정이 있습니다.
이것이 작동하지 않는다면 당신의 데이터가 구조화 된 방법에 대해 더 자세히 설명해 주어야하며 수정하려고 노력할 것입니다.
귀하의 데이터가 진실로 당신이 그것을 보여줄 때, 번호 앞에 <space>, 그 다음에 <comma> 또는 문자열의 끝을 사용하면 다음을 사용할 수 있습니다.
수식을 정의하고 이름을 지정하십시오. seq_99 어디에
seq_99 refers to: =IF(ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,255,1))=1,1,(ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,255,1))-1)*99)
그럼 당신은 이것을 사용할 수 있습니다. 배열에 입력 된 공식:
=SUM(IF(ISNUMBER(--TRIM(MID(SUBSTITUTE(TRIM(SUBSTITUTE(A1,","," "))," ",REPT(" ",99)),seq_99,99))),--TRIM(MID(SUBSTITUTE(TRIM(SUBSTITUTE(A1,","," "))," ",REPT(" ",99)),seq_99,99))))
에 배열 입력 수식 Ctrl + 시프트 타격을가하면서 들어가다 . 이 작업을 올바르게 수행하면 Excel에서 중괄호 {...} 수식 입력 줄에서 볼 수있는 수식 주위.
나는 - 음수로 표시됩니다. 그것은 사실이 아니며 공식을 배제하여 그것을 제외시키는 것은 사소한 일입니다.
작은 VBA 기능을 제안하고 싶습니다. 구분 기호는 아래와 같이 조정할 수 있습니다.
Function SumNumbers(rngS As Range, Optional strDelim As String = "-") As Double
Dim xNums As Variant, lngNum As Long
xNums = Split(rngS, strDelim)
For lngNum = LBound(xNums) To UBound(xNums) Step 1
SumNumbers = SumNumbers + Val(xNums(lngNum))
Next lngNum
End Function
노트:
나는 이것이 당신을 돕기를 바랍니다.