Google 스프레드 시트에서 정수를 어떻게 파싱합니까?


16

Google 스프레드 시트에서 parseInt()(JS) 또는 intval()(PHP)에 해당하는 것은 무엇입니까 ?

별도의 셀에서 행의 숫자 합계를 계산하고 싶습니다. 그래서 만약 내가했다 3 cups5 cups행에, 나는 얻을 것입니다 18.


4
"3 컵"과 "15 컵"을 의미합니까, 아니면 뭔가 빠졌습니까?
jonsca

답변:


15

이와 같은 것을 구현하는 한 가지 방법은

=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))

일부 예제 문자열에 대한이 수식의 결과는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

개인의 필요에 맞게이를 수정해야 할 수도 있습니다. "3 컵"처럼 간단한 현악기에도 잘 작동합니다.

  • SPLIT(..., " ")문자열을 공백으로 구분 된 부분으로 나눕니다. 예를 들어 문자열에 문자를 더 추가하면 " -/"해당 문자를 찾을 때마다 분할 할 수 있습니다.

  • ISNUMBER 문자열이 숫자인지 확인합니다.

  • FILTER 배열을 가져 와서 두 번째 함수를 만족시키지 않는 모든 것을 걸러냅니다. 즉, 숫자가 아닌 모든 것을 꺼냅니다.

  • INDEX(...; 1; 1) 배열의 첫 번째 열, 첫 번째 열의 값을 반환하므로 나열된 모든 숫자가 아닌 첫 번째 숫자 만 가져옵니다.

  • VALUE 아마 필요하지는 않지만, 좋은 측정을 위해 최종 문자열을 숫자 값으로 변환합니다.


2
대답은 VALUE...
Iulian Onofrei

@IulianOnofrei 아니요, VALUE답변에 입력 한 모든 예제 입력에서 오류 ( "숫자로 해석 할 수 없음")가 발생합니다.
6005

1
죄송합니다. VALUEOP의 첫 번째 질문과 제목에 대한 답변입니다.
Iulian Onofrei

@IulianOnofrei JavaScript를 모르지만 OP의 질문을 이해하는 방식이 아닙니다.
6005

3

컵을 포함하는 셀과 함께 작동하는 다른 대안

= 배열 공식 (SUM (INT (LEFT (B1 : B2, FIND ( "", B1 : B2)))))


1

정규식에 잘 사용되는 것 같습니다. 예를 들면 다음과 같습니다.

WA57716 예

여기서 E2의 공식은 다음과 같습니다.

="="&join("+",ArrayFormula(regexreplace(B2:D2,"\D","")))

이것은 숫자가 아닌 모든 숫자를 제거하고 결과를 +앞에 붙 =입니다.

복사 / 다음 바꾸기를 말하자면,로, F2는 (E2 수) 것만 값을 붙여 넣기 / 붙여 넣기 ==.

REGEXREPLACE 가입

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.