[]
        
(Showing Draft Content)

동아시아 전자 수식 입력

SpreadJS는 동아시아 전자 문자를 사용한 수식 입력을 지원합니다. 사용자가 지원되는 전자 수식 문자가 포함된 수식을 입력하거나 붙여넣으면 SpreadJS는 해당되는 경우 이를 대응하는 반자 수식 문자로 정규화합니다.

이 동작을 통해 사용자는 올바른 SpreadJS 수식 구문을 유지하면서 일본어 또는 중국어 입력기를 사용하여 수식을 입력할 수 있습니다.

예:

입력 수식

저장된 수식

=SUM(1,2)

=SUM(1,2)

=A1

=A1

=Sheet2!A1

=Sheet2!A1

지원되는 입력 시나리오

수식 문자 정규화는 다음을 포함한 사용자 입력 시나리오에 적용됩니다.

  • 셀에 수식 입력

  • 복사 및 붙여넣기를 통한 수식 입력

  • FormulaTextBox에 수식 입력

  • 디자이너 조건부 서식 규칙에 수식 입력

  • 디자이너 데이터 유효성 검사 규칙에 수식 입력

  • 디자이너 범위 선택기에 수식 입력

수식 입력이 지원되는 경우 전자 , 또는 로 수식 입력을 시작할 수도 있습니다.

참고: 수식 문자 정규화는 사용자 입력에 적용됩니다. API를 통해 설정된 수식 문자열은 자동으로 정규화되지 않습니다.

정규화되는 수식 문자

SpreadJS는 일반적인 전자 수식 문자를 해당하는 반자 문자로 정규화합니다.

다음 예제에서는 일반적인 변환을 보여줍니다.

전자 입력

정규화된 문자

예제

=

=SUM(1,2)=SUM(1,2)로 변환

( )

=SUM(A1,A2)=SUM(A1,A2)로 변환

,

=SUM(1,2,3)=SUM(1,2,3)으로 변환

:

=SUM(A1:A2)=SUM(A1:A2)로 변환

+ - * /

=2*3=2*3으로 변환

^

=2^3=2^3으로 변환

%

=50%=50%로 변환

&

="A"&"B"="A"&"B"로 변환

$

=$A$1=$A$1로 변환

!

=Sheet2!A1=Sheet2!A1로 변환

> <

=2>1=2>1로 변환

{ }

=SUM({1,2;3,4})=SUM({1,2;3,4})로 변환

;

=SUM({1;2})=SUM({1;2})로 변환

#

=A1#=A1#으로 변환

@

=@A1:A3=@A1:A3으로 변환

[ ]

=R[1]C[1]=R[1]C[1]로 변환

SpreadJS는 셀 참조 및 기본 제공 함수 이름과 같이 지원되는 수식 구문에서 사용되는 전자 문자와 숫자도 정규화합니다.

예:

입력 수식

저장된 수식

=A2

=A2

=R2C2

=R2C2

=SUM(A1:A2)

=SUM(A1:A2)

따옴표, 마침표, 대괄호 또는 비교 기호로 일반적으로 사용되는 일부 동아시아 문장 부호도 해당되는 경우 정규화됩니다. 예를 들어 “ ”와 같은 스마트 따옴표는 수식의 큰따옴표로 정규화될 수 있습니다.

함수 이름

전자 문자로 입력한 기본 제공 함수 이름은 반자 문자로 정규화됩니다.

예:

=SUM(A1)

다음과 같이 저장됩니다.

=SUM(A1)

사용자 지정 함수의 경우 사용자 지정 함수가 정의된 방식에 따라 동작이 달라집니다.

  • 반자 사용자 지정 함수가 전역으로 등록된 경우 전자 입력을 정규화하여 해당 함수와 일치시킬 수 있습니다.

  • 전자 이름을 사용하는 사용자 지정 함수는 원래 이름을 유지하며 변환되지 않습니다.

셀 참조 및 범위

사용자가 전자 문자 또는 숫자를 사용하여 수식을 입력하면 셀 참조를 정규화할 수 있습니다.

예:

입력 수식

저장된 수식

=A2

=A2

=R2C2

=R2C2

범위와 관련된 수식 문자도 정규화할 수 있습니다.

예:

입력 수식

저장된 수식

=SUM(A1:A2)

=SUM(A1:A2)

=A1:A10

=A1:A10

사용자 지정 이름 및 구조적 참조

사용자 지정 이름은 자동으로 정규화되지 않습니다. 통합 문서에 사용자 지정 이름이 포함된 경우 사용자는 정확한 사용자 지정 이름을 입력하거나 자동 완성 목록에서 선택해야 합니다.

예를 들어 사용자 지정 이름이 전자 문자로 정의되어 있으면 SpreadJS는 전자 이름을 그대로 유지합니다.

구조적 참조에서도 정확한 테이블 및 열 이름을 사용해야 합니다. SpreadJS는 구조적 참조 내의 테이블 이름 또는 열 이름을 정규화하지 않습니다.

예를 들어 테이블 이름이 SalesTable인 경우 다음 수식은 테이블 이름과 일치하지 않습니다.

=SUM(SalesTable[Amount])

대신 정확한 테이블 이름을 사용합니다.

=SUM(SalesTable[Amount])

마찬가지로 열 이름이 Amount인 경우 다음 수식은 열 이름과 일치하지 않습니다.

=SUM(SalesTable[Amount])

대신 정확한 열 이름을 사용합니다.

=SUM(SalesTable[Amount])

대괄호 및 구조적 참조 연산자와 같은 전자 구조적 참조 기호는 해당되는 경우 정규화할 수 있습니다.

예:

=SUM(SalesTable[Amount])

다음과 같이 처리됩니다.

=SUM(SalesTable[Amount])

문자열 및 와일드카드

수식 문자 정규화는 문자열 값 내의 전자 문자를 변경하지 않습니다.

예:

="()"

다음과 같이 저장됩니다.

="()"

수식 결과는 다음과 같습니다.

()

전자 와일드카드 문자는 와일드카드 연산자가 아닌 일반 문자로 처리됩니다.

예:

=COUNTIF(A1:A10,"a?c")

위 수식은 리터럴 텍스트 a?c와 일치합니다. abc 또는 axc와 같은 값과는 일치하지 않습니다.

와일드카드 동작이 필요한 경우 반자 와일드카드 문자를 사용합니다.

전자 문자

동작

리터럴 문자로 처리됩니다.

리터럴 문자로 처리됩니다.

리터럴 문자로 처리됩니다.

API 및 파일 동작

수식 문자 정규화는 사용자 입력에 적용됩니다. 파일에서 수식을 읽을 때는 수식이 변경되지 않으며 API를 통해 설정된 수식도 자동으로 정규화되지 않습니다.

예:

sheet.setFormula(0, 0, "=A1");

이 경우 전자 입력이 그대로 유지됩니다. A1은 해당되는 경우 사용자 지정 이름으로 처리되는 등 일반적인 수식 구문 분석 규칙에 따라 처리됩니다.

API를 통해 수식을 설정할 때 정규화된 수식 텍스트가 필요한 경우 API를 호출하기 전에 수식 문자열을 정규화합니다.

제한 사항

  • 수식 문자 정규화는 사용자 입력 시나리오에만 적용됩니다.

  • 수식 문자 정규화는 API를 통해 설정된 수식에는 적용되지 않습니다.

  • 수식 문자 정규화는 파일에서 수식을 읽을 때 수식을 변경하지 않습니다.

  • 문자열 값 내의 전자 문자는 그대로 유지됩니다.

  • 사용자 지정 이름, 테이블 이름 및 구조적 참조 열 이름은 정확히 일치해야 합니다.

  • 전자 와일드카드 문자는 리터럴 문자로 처리됩니다.

  • 테이블 시트 열 수식은 이 정규화 동작을 지원하지 않습니다.