2017-10-13 2 views
0

Google 스프레드 시트 데이터베이스에는 일련 번호를 할당하기 위해 작성한 수식이 있습니다.Google 스프레드 시트 수 증가분

각 회사의 고유 번호는 "RET00XX"형식이어야합니다. 여기서 XX는 고유 회사 번호를 나타냅니다. 나는이 숫자가 순차적 인 것, 1부터 시작해서 그 다음에 +1하는 것이 좋겠다. 새 회사가 데이터베이스에 삽입 될 때마다 수식은이를 참조 번호로 간주 할 수 있어야합니다. 또한 회사가 이미 데이터베이스에 존재 하는지를 확인할 수 있어야하며, 그렇다면 새로운 회사를 생성하는 대신 회사의 고유 한 참조 번호로 자동 지정됩니다.

회사 이름

이것은 I 내장 한 식 (2 행에있는 하나의 예)이다 칼럼 B.

세포에 있습니다 걸리는 단계

=ARRAYFORMULA(IF($B2<>"",IF((COUNTIF($B$1:$B1,$B2)>0),INDEX($A$1:$R2,MATCH($B2,$B$1:$B1,0),12),CONCATENATE("RET00",ROW($B2))),"")) 

것이있다 :
1 - 해당 행의 B 열이 비어 있지 않은지 확인합니다.
2 - COUNTIF 기능을 사용하면 회사가 이전 행에 존재하지 않는지 확인합니다.
3 - 회사가 존재하는 경우 INDEX 함수를 통해 해당 참조 번호를 표시합니다.
4 - 회사가없는 경우 회사에 CONCATENATEROW 기능이있는 새로운 참조 번호가 부여됩니다.

몇 가지 문제가 있지만 수식이 크게 작동합니다. 이 데이터베이스에 추가하는 사용자는 데이터베이스 중간에 행을 삽입하여 항목을 추가하는 습관이 있습니다. 이렇게하면 수식이 작성되는 방식으로 인해 회사 고유의 참조 코드가 발생할 때마다 변경됩니다. 나는 이것이 부분적으로 내가 ROW 함수를 사용한다는 사실에 기인한다고 믿습니다.
또한 데이터베이스의 중간에 새 행이 삽입되면 수식은 이전 행을 모두 반복하지 않고 모든 행을 반복함으로써 회사가 이미 존재하는지 확인할 수 있어야합니다 (새 행이 삽입되면 수식은 회사가 새 행 뒤의 행에있을 수있는 이전 행 만 확인합니다.

ROW을 참조하지 않고 수식에서 연속 번호의 속성을 어떻게 지정할 수 있습니까? 또한 스프레드 시트가 삽입 된 행 앞에있는 행 대신 B 열의 모든 행을 확인하는지 어떻게 확인할 수 있습니까?

감사합니다

답변

2

짧은 대답

사용 Google Apps Script 값이 될 것 같은 데이터베이스로 사용할 라이브 스프레드 시트에 ID를 설정하는 스프레드 시트 기능을 사용

설명

은 매우 위험하다 스프레드 시트 내용이 변경되면 다시 계산됩니다.

수식을 사용하는 대신 스크립트를 사용하여 "고정 값"을 추가하십시오. 스크립트는 셀 편집 및 행 삽입과 같은 이벤트에서 자동으로 호출 될 수 있습니다. 사용자 정의 메뉴 또는 사이드 패널, 스크립트 편집기 또는 시간 구동 트리거에 의해 스크립트를 호출 할 수 있습니다.

가 SO로부터이 다른 도움도 될 수있다 :