최대 문자 수 이후 다음 셀로 오버플로됨

최대 문자 수 이후 다음 셀로 오버플로됨

데이터베이스를 생성할 때 셀은 최대 250자여야 합니다. 데이터를 입력할 때 첫 번째 셀에 최대 250자를 허용하고 추가 문자를 계속 입력하면 다시 250자가 될 때까지 다음 인접한 셀로 자동으로 오버플로되도록 하고 싶습니다. 그런 다음 다음 인접한 셀로 다시 오버플로됩니다. 이를 위해 세 개의 열을 설정했습니다.

답변1

특별한 것이 없는 방법이 있습니다(매크로가 없거나 기타... 조기 학습... 기능이 없음): 시트 두 개를 사용합니다.

Sheet 1데이터를 입력하고 셀에 입력하거나 붙여넣으면 입력 Sheet 2된 데이터에 적용되는 수식이 생성됩니다. 수식은 단순히 항목을 가져와 Sheet 1필요에 따라 나눕니다. 일괄적으로 또는 전부 완료되면 한두 가지 작업을 수행해야 합니다. 를 사용하여 수식을 값으로 변환한 다음 Excel에 "공백"이 있는 Paste|Special|Values경우 데이터베이스에 true가 필요한 경우 빈 셀을 처리합니다 . NULL's두 번째가 필요하다고 가정하겠습니다. 그렇지 않은 경우 공식의 핵심을 사용하십시오.

따라서 셀에 Sheet1!A2데이터가 입력되었습니다. A2:C2의 셀에는 Sheet 2분할된 데이터가 있습니다. 비어 있는 핵심 수식의 제안된 결과를 테스트하고 비어 있는 경우 절대 발생할 수 없는 결과를 반환합니다. 공식에 간단한 "PPP"를 사용하겠지만 더 높은 수준의 유니코드 문자나 테두리 그리기에 이전 128-255 코드를 사용할 수도 있습니다.

A 열은 다음을 얻습니다.

=LEFT(Sheet1!A2,250)

B 열은 다음을 얻습니다.

=MID(Sheet1!A2,251,250)

열 3은 다음을 얻습니다.

=MID(Sheet1!A2,501,250)

RIGHT()사용할 문자 수를 찾는 것이 여기서의 간단한 접근 방식보다 더 복잡하기 때문에 3열에서는 사용하지 않습니다 . 그것이 작동하는 이유는 MID()501자가 존재하든 그 이후에 250자가 존재하든 상관하지 않는다는 것입니다. 그렇지 않은 경우 오류가 아닌 공백이 표시됩니다. 그러니 간단하게 하세요, 그렇죠?

IF()각 항목은 공백이 반환되는지 확인하고 고유한 값이 있으면 할당하고, 그렇지 않으면 결과를 그대로 두는 테스트 로 래핑되어야 합니다 . 예를 들어 열 1은 다음과 같습니다.

=IF(LEFT(Sheet1!A2,250)="","PPP",LEFT(Sheet1!A2,250))

세 개의 열 모두에 대해 동일한 기술입니다. 실제로 사용된 행 아래의 모든 항목을 비워 두려면(쉽게 검사할 수 있는 세 개의 열에는 의미가 없지만 언젠가는 320개의 열로 이 작업을 수행하게 될 것임) 해당 셀이 비어 있는지 IF()확인하는 다른 열로 모두 포장합니다. Sheet 1아니다. 반환하는 내용은 복잡하고 가능성이 많을 수 있지만 고유한 값을 반환하는 것이 마음에 들지 않으면 이 두 가지를 결합하여 두 조건 중 IF()'s하나를 테스트 할 수 있습니다. AND()언급한 바와 같이, 다른 유용한 접근 방식도 취할 수 있습니다.

자... 이제 데이터가 준비되었으며 Sheet 2모두 원하는 대로 잘 분할되었습니다. 수식이 아닌 데이터로 만들려면 Copy상자 에 말 그대로 아무 것도 지정하지 않은 고유한 값을 사용하여 실제 공백을 만들어 가져오기 후에 true를 갖게 됩니다 .Paste|Special|ValuesSearch and ReplaceReplaceNULL's

물론 Sheet 3다음 사용을 위해 해당 위치에 다시 붙여넣을 수 있도록 공식을 어딘가에 준비하십시오(아마도).

마지막으로 가져오기를 수행합니다.

몇 가지 간단한 수식만 사용하여 값을 만들고 공백으로 보이는 셀을 실제 공백으로 만들면 작업이 완료됩니다.

관련 정보